• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Schleife aber wie?

  • Ersteller Martin111
  • Erstellt am

Martin111

Gast
Liebe Applescripter,

Ich bin ein völliger Applescript Neuling.
Man nennt dies wohl eine Schleife, wonach ich suche:

Mit Automator habe ich eine Aktion, wo Daten vom FTP-Server auf meine Harddisk geladen werden.

Als nächstes würde ich gerne eine Applescript Aktion einfügen, welche mich wieder zur vorhergehenden Aktion führt, prüft ob der Download vollständig beendet wurde und allenfallls die vorhergehende Aktion nochmals durchführt, bis der Download komplett ist. Wenn der Download komplett ist, dann wird die nächste Aktion eingeleitet.

Ist das schwierig zu lösen? Selbst wenn es extrem einfach sein sollte, wäre es für mich sauschwierig. Ich wäre für Eure Hilfe sehr dankbar.

Liebe Grüsse

Martin
 

Martin111

Gast
Anmerkung: Wenn jemand vielleicht meine kompliziertes Anliegen nicht ganz versteht: Das Script sollte einfach die Aktivität eines FTP-Server prüfen (wenn Daten hin und her auf dem Server geschoben werden), dann sollte die vorhergehende Aktion wieder aktiviert werden. Wenn keine Aktivitäten feststellbar sind, dann sollte die nächste Aktion aufgefrufen werden.
 

michast

Stahls Winterprinz
Registriert
13.09.04
Beiträge
5.136
Ehrlich gesagt, ich verstehe es immer noch nicht. Welche Aktion läuft denn vor dem Beginn des Downloads bzw. was soll, wenn der Download noch nicht zu Ende ist, erneut gestartet werden? o_O
 

Martin111

Gast
Lieber Michael,

Ich arbeite mit Automator.
Die erste Aktion ist eine von Transmit (FTP-Client) bereit gestellte Aktion mit dem Namen "Dateien synchronisieren". Für mich als Unwissender in Sachen Applescript die eleganteste Lösung.

Durch diese erste Aktion werden Daten vom FTP-Server auf meine Festplatte gedownloadet. Soweit so gut. Wenn nun aber gleichzeitig ein User grosse Mengen uploadet währenddem ich downloade, besteht die Möglichkeit, dass ich mit runterladen schneller bin und die Aktion mit einem unvollständigen Download beendet wird.

In diesem Falle würde schon meine 2. Aktion in Kraft treten: E-Mail Bestätigung für erfolgreichen Download, owohl die Datei nicht fertig runtergeladen wurde.

Ich habe noch folgenen Script von Transmit gefunden. Kann man diesen so abändern, dass der Script wie in einer Schlaufe läuft? Will heissen, dass die Aktion so lange ausgeführt wird, bis keine wachsenden Daten bzw. Upload-Aktivität feststellbar ist. Erst wenn dann der Download komplett ist, dass die nächste Aktion eingeläutet wird?

Vielleicht kannst Du mir da weiterhelfen. Es wäre echt lieb, wenn mir jemand unter die Arme greift:) :
Liebe Grüsse, Martin

Code:
- Transmit AppleScript "list files" example 
-- Steven Frank, June 10, 2003 
-- 
-- Demonstrates one way to get a recursive directory listing 
-- from an FTP server with Transmit. 
-- 
-- This example displays the name of each file & folder in the 
-- "candybar" directory on Panic's FTP server. If any folders 
-- are found, it descends into them and continues from there. 
-- 
-- Requires Transmit 2.5 or higher 

on listDir(theDoc) 
   tell application "Transmit" 
      tell theDoc 
         tell current session 
            set theOutput to list remote folder 
            repeat with theItem in theOutput 
               display dialog theItem 
               if (set their stuff to theItem) then 
                  tell me to listDir(theDoc) 
                  set their stuff to ".." 
               end if 
            end repeat 
         end tell 
      end tell 
   end tell 
end listDir 

tell application "Transmit" 
   set SuppressAppleScriptAlerts to true 
   set theDoc to (make new document) 
   tell theDoc 
      tell current session 
         connect to "ftp.panic.com" 
         set their stuff to "candybar" 
         tell me to listDir(theDoc) 
      end tell 
      close 
   end tell 
    
end tell
 

michast

Stahls Winterprinz
Registriert
13.09.04
Beiträge
5.136
Knifflig:
Also, wenn ich das jetzt richtig verstehe, möchtest Du mit einem FTP-Client den FTP-Server synchronisieren. Beim Start der Synchronisation sind x MB auf dem Server. Während der Synchronisation werden Dateien von einem zweiten User auf den Server geladen so dass während der Synchronisation x MB + y MB auf dem Server sind, wobei y MB steigt, so lange vom zweiten User geladen wird. Du möchtest, dass eine Schleife prüft, ob y MB noch steigt oder der zweite User zu Ende hochgeladen hat. Erst, wenn auf Deinem Rechner alle Dateien sind, soll die Synchronisation beendet werden.

Ist das so richtig?

Das erste Problem, was ich sehe ist, dass die Synchronisation ja ein Prozess ist, der, einmal gestartet, nicht immer wieder neu gestartet werden kann. Man müsste also nach der Beendigung der Synchronisation prüfen, ob alle Dateien synchronisiert sind und dann gegebenenfalls die Synchronisation neu starten.

Möglicherweise liege ich aber völlig daneben o_O
 

Martin111

Gast
Hallo Michael,

Ganz genau - du siehst es absolut richtig. Kann man dies irgendwie lösen?
Wenns irgendwie ginge, das wäre der absolute Hammer.
Sonst mach ich das auf die altmodische Art - in zeitlichen Abständen immer auf den Ordner auf dem Schreibtisch klicken und nachschauen. Gruss Martin
 

michast

Stahls Winterprinz
Registriert
13.09.04
Beiträge
5.136
...oder Du lässt das Skript in regelmäßigem zeitlichen Abstand laufen (Scheduler), ungeachtet, ob ein Upload stattfindet oder nicht. So bist Du auch immer Up-to-date.
 

Martin111

Gast
...wäre ja eine gute Idee. Dann aber gibts bei jedem Durchlauf eine E-Mail Benachrichtigung, falls sich etwas im Ordner auf der Festplatte befindet (ob vollständig oder nicht).
Ich glaube, dass man Synchronisation und E-Mail Benachrichtigung nur schwer miteinander verbinden kann.
 

michast

Stahls Winterprinz
Registriert
13.09.04
Beiträge
5.136
scheint ein Dialog zu werden. Wo sind denn die Script-Freaks? o_O