Applescript: поиск в Google для текста песни iTunes - PullRequest
0 голосов
/ 01 февраля 2012

Мне нужен скрипт для поиска в Google по тексту текущей воспроизводимой песни.Почему не работает следующее:

tell application "iTunes"
    set trackArtist to artist of current track
    set trackName to name of current track
end tell
set search to trackArtist & " - " & trackName & " lyrics"
open location "https://www.google.com/search?q=" & search

Если я "верну поиск", я вижу, что переменная установлена ​​правильно.И если я заменю «поиск» в последней строке на «тестовый текст», браузер откроется, как и ожидалось.Но приведенный выше скрипт не выполняет никаких действий и не возвращает никаких ошибок.

1 Ответ

1 голос
/ 01 февраля 2012

Я думаю, вы забыли, что большинство браузеров декодируют URL-адрес в поле адреса, и перед запросом они снова кодируют URL-адрес. Так что вам нужно также закодировать URL.

tell application "iTunes"
    set trackArtist to artist of current track
    set trackName to name of current track
end tell
open location "http://www.google.com/search?q=" & rawurlencode(trackArtist & " - " & trackName & " lyrics")

on rawurlencode(theURL)
    set PHPScript to "<?php echo rawurlencode('%s');?>"
    set theURL to do shell script "echo " & quoted form of theURL & " | sed s/\\'/\\\\\\\\\\'/g"
    return do shell script "printf " & quoted form of PHPScript & space & quoted form of theURL & " | php"
end rawurlencode
...