Nun, die Datenbank auf dem Server, den ich verwendet habe, um meine Daten abzurufen, nahm einen Dump. Tut mir leid, dass ich dunkel geworden bin. Ich konnte nicht mehr nur Testdaten abrufen - ich musste es wieder in Gang bringen.
Und wie üblich eine Pause zu machen gab mir einige notwendige Perspektive.
mein Problem war nicht zu verstehen, wenn Shell nicht URL-Codierung und wenn AppleScript DID.
Auf die off chance kann dies jemand helfen, hier ist mein komplettes Problem und die Lösung.
Also, meine Ersteinrichtung ist:
Ich habe eine lokale Tabula delim Textdatei mit einem ROTATION-Befehl erstellt, erstellt wie:
song 1 /t artist 1 LF
song 2 /t artist 2 LF
.
.
.etc
ich diese in meinem Apple lesen müssen und geben sie schließlich zu einer URL codierten Textzeichenfolge wie
http://www.playlist-converter.net/#/freetext=song%201%20-%20artist%201%0Asong%202%20-%20artist%202
Also, ich als erstes in Angriff genommen wurde, ersetzt den LF mit CR mit Applescript von
do shell script "cp " & posixpathoffile & " " & posixppathoftempfile & " tr '\n' '\r' < " & posixpathoftempfile & " > " & posixpathoffile & ""
Aber das war bei weitem nicht alles. Problem macht alles in der Schale. Ich könnte weiterhin Zeichen entfernen und durch AWK-Befehle ersetzen. Aber durch einfaches Lesen der ursprünglichen Datei in der Shell wurden die Tabulatoren/t entfernt. Also wurde ich von hier aus gezwungen, die Datei in eine AppleScript-Variable zu grepen und alle Suchen/Ersetzen mit Applescript-Textelementtrennzeichen durchzuführen. Also:
set theHtml to do shell script "grep -U $'\\x0' " & posixpathoffile & ""
Bringt die Datei mit dem Apple Carriage Returns als Variable theHTML. Und von hier ich einen Standard Fund verwenden/ersetzen Applescript-Funktion:
replace all spaces with "%20" as text
replace all carriage returns with "%0A" as text
replace all forward slash characters with "and" (it didnt seem to affect
the song title or artist)
Natürlich nichts davon nützlich ist auf ein einfaches bestanden „Shell-Skript tun url‚-a Safari öffnen ‚‘“-Befehl. All mein sorgfältig kodierter Text wird verstümmelt.Also, ich verketten den ersten Teil der URL mit dem massierten Inhalt und öffnen Sie die Seite mit Safari wie
tell application "Safari"
activate
tell window 1
set current tab to (make new tab with properties {URL:theURL})
end tell
end tell
Ich hoffe, all das war so gut für Sie, wie es für mich war. Jetzt kann ich all dies auf Xcode Applescript Obj-C portieren. Wünsch mir Glück. Und nochmals, ich entschuldige mich dafür, dass ich meinen Thread aufgegeben habe.
Ich benutze Spotify nicht, also kann ich es testen, aber ich habe kein Problem, die URL, die im OP angezeigt wird, intakt zu lassen, ohne die '#' in einem 'do shell script' _command_ zu ändern. Natürlich kann es mit dem expliziten 'do shell script' _command_ zu tun haben, mit dem ich getestet habe. Das heißt, Sie sollten den exakten _code_ enthalten, der den Fehler verursacht, und wenn Sie Hilfe beim Debuggen von Code benötigen, sollte Ihre Frage mit [Wie erstelle ich ein minimales, vollständiges und verifizierbares Beispiel] übereinstimmen (http://stackoverflow.com/help/mcve). Wenn die URL als eine _variable_, z. 'theURL' versuche mit:' die zitierte Form derURL' – user3439894
danke. Das erste Code-Bit sollte die erwarteten Ergebnisse bei playllist-converter.net zurückgeben. Es besteht keine Notwendigkeit, spotify zu verwenden oder ein Konto zu haben. Die Website sollte eine Trackliste mit zwei Datensätzen zurückgeben. Das ist alles was ich suche. aber, ich werde in der tatsächlichen AppleScript Shell-Befehl bearbeiten ... halten fest – James
In Ihrem Kommentar Sie sagten "das erste Bit des Codes sollte die erwarteten Ergebnisse zurückgeben ...", aber es gibt absolut keine AppleScript-Code zeigt die _code_ Sie verwendet um den Fehler zu erzeugen! – user3439894