1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

Kleine Aufgabe: Wie kriege ich den Inhalt einer Playlist auf einen Server?

Dieses Thema im Forum "OS X-Developer" wurde erstellt von plaetzchen, 02.10.06.

  1. plaetzchen

    plaetzchen Kaiserapfel

    Dabei seit:
    21.10.05
    Beiträge:
    1.729
    Hallo!

    Ich arbeite hier grade an was und brauche mal Hilfe. Ich will einen Script mache, der alle Dateien einer Playlist in einen Ordner kopiert und diesen Ordner dann per rsync an einen Server überträgt. Wie geht das?

    Gruß

    Philip
     
  2. plaetzchen

    plaetzchen Kaiserapfel

    Dabei seit:
    21.10.05
    Beiträge:
    1.729
    Oder jetzt wird es einfacher:
    Wie kann ich eine Dateiliste von Automator an ein eingebettets Script schicken?
     
  3. plaetzchen

    plaetzchen Kaiserapfel

    Dabei seit:
    21.10.05
    Beiträge:
    1.729
    Das letzte bitte vergessen...
    Kennt jemand vll. ne Lösung?
     
  4. pete

    pete Gast

    Einfach die Playlist per drag and drop auf den Server ziehen.
     
  5. plaetzchen

    plaetzchen Kaiserapfel

    Dabei seit:
    21.10.05
    Beiträge:
    1.729
    Ja ne ich will das ja automatisieren, aber ich bin der Lösung schon sehr nahe, ich werde das dann hier posten
     
  6. pete

    pete Gast

    Drag and drop mit Script Editor aufzeichnen?
     
  7. plaetzchen

    plaetzchen Kaiserapfel

    Dabei seit:
    21.10.05
    Beiträge:
    1.729
    Zu einfach ;), aber das geht auch nicht, hatte auch schon was mit Automator, aber das ist halt nicht so einfach auf jedem System einzusetzen. Hier ein Lösungsansatz:

    set ort to "Macintosh HD:Users:philipbrechler:Music:einkaeufe"
    set liste to 0
    tell application "iTunes"
    copy location of tracks of playlist "Einkäufe" to liste
    end tell
    tell application "Finder"
    make new alias file at ort to liste
    end tell
    tell application "Terminal"
    activate
    do script "rsync -varH Music/einkaeufe/ flurserver:/mnt/sda1/public/einkaeufe"
    end tell
    delay 5
    tell application "System Events"
    tell process "Terminal"
    keystroke "pass"
    keystroke return
    end tell
    end tell

    Da ist nur ein kleines Problem: rsync folgt den aliasen nicht. Das heißt ich habe immer 0KB Dateien auf dem Server. Wie kann man Aliase in symlinks umwandeln und zwar auch gleich die 500 die hier angelegt werden?
     
  8. pete

    pete Gast

    Ich habe mir gerade Dein Script angesehen.

    Mal ganz langsam, von Anfang an. Was für eine Playlist meinst Du?

    [​IMG]
     
  9. plaetzchen

    plaetzchen Kaiserapfel

    Dabei seit:
    21.10.05
    Beiträge:
    1.729
    Die Einkäufe Playlist die der Shop erstellt.
    Ich frage ab welche Objekte da drin sind und welchen Pfad sie haben. Dann erzeuge ich einen Alias zu jeder Datei um nicht die ganzen Dateien noch mal extra in einen Ordner kopieren muss und dann gehts los mit rsync, nur der erkennt leider die Aliase nicht. Oder gibt es da noch was "einfacheres"? Ich will nur nicht, dass die Elemente immer wieder "überkopiert" werden. Und es soll auf jedem meiner Systeme hier eingesetzt werden.
     
  10. philo

    philo Roter Stettiner

    Dabei seit:
    13.10.04
    Beiträge:
    973
    vielleicht muss du dem rsync auruf noch ne option mitgeben, die die aliase symlinks auflöst?

    -K, --keep-dirlinks treat symlinked dir on receiver as dir
    -l, --links copy symlinks as symlinks
    -L, --copy-links copy the referent of all symlinks
    --copy-unsafe-links copy the referent of "unsafe" symlinks
    --safe-links ignore "unsafe" symlinks
    -H, --hard-links preserve hard links

    ist aber nur ne idee!
     
  11. plaetzchen

    plaetzchen Kaiserapfel

    Dabei seit:
    21.10.05
    Beiträge:
    1.729
    Geht leider alles nicht. Hab ich alle schon probiert. Also entweder ich verwandel die Aliase in Symlinks oder ich mach es doch Automator, das könnte auch klappen, nur leider kapier ich nicht ob der die Dateien immer überkopieren würde
     
  12. plaetzchen

    plaetzchen Kaiserapfel

    Dabei seit:
    21.10.05
    Beiträge:
    1.729
    Also das mit Automator klappt nicht ,da er den Server wohl nicht richtig findet oder bzw. anwendet. Sitze an einer anderen Lösung...
     
  13. plaetzchen

    plaetzchen Kaiserapfel

    Dabei seit:
    21.10.05
    Beiträge:
    1.729
    Naja gut also hier eine Lösung, zwar ohne iSync und eigentlich trivial, aber vll. hilfts mal jemanden:

    Das sorgt dafür, dass alle Tracks auf das angegebene Volume gesynct werden:

    set liste to 0
    tell application "iTunes"
    copy location of tracks of playlist "Einkäufe" to liste
    end tell
    repeat with i from 1 to number of items in liste
    set this_item to item i of liste
    try
    tell application "Finder"
    copy file this_item to folder "MUSIK:Einkäufe"
    end tell
    end try
    end repeat

    Das sorgt dafür, dass, wenn neue Lieder da sind, die Playlist aktualisiert wird, allerdings löscht er die vorher. ich stelle das mal zur diskussin ;):

    set itunes to 0
    set Finder to 0
    tell application "iTunes"
    copy number of tracks of playlist "Alle Einkäufe" to itunes
    end tell
    tell application "Finder"
    copy number of items of folder "MUSIK:Einkäufe" to Finder
    end tell
    if itunes is not Finder then
    tell application "iTunes"
    delete playlist "Alle Einkäufe"
    set thePlaylist to (make new playlist)
    set name of thePlaylist to "Alle Einkäufe"
    add "MUSIK:Einkäufe" to playlist "Alle Einkäufe"
    end tell
    else
    display dialog "Nichts zu tun!" buttons {"OK"} default button 1
    end if
     

Diese Seite empfehlen