Applescirpt von Internetseite beziehen

Dieses Thema im Forum "Scripting und Automatisierung" wurde erstellt von balufreak, 28.04.2005.

  1. balufreak

    balufreak Thread Starter MacUser Mitglied

    Beiträge:
    1.560
    Zustimmungen:
    28
    MacUser seit:
    12.10.2003
    Hallo Leute!

    Ich habe ein Applescirpt gemacht, welches in Mail eine Bestimmte Nachricht an verschiedene Empfänger vorbereitet. Diese Empfänger sind dynamisch. Bessergesagt auf einer DB im Internet.

    Ich habe die Möglichkeit diese auszulesen und ein Applescipt zu generieren. Also eine *.php seite welche nur das script als inhalt hat.

    Nun kann ich ein Applescript machen, welches dieses PHP file ausliest (Quelltext) und dies dann auch als Applescipt ausführt?

    Versteht ihr wie ich meine?

    Greets balu
     
  2. balufreak

    balufreak Thread Starter MacUser Mitglied

    Beiträge:
    1.560
    Zustimmungen:
    28
    MacUser seit:
    12.10.2003
    Neue Frage: Wie kann ich den Sourcecode einer Seite in eine Variable Speichern und diesen dann ausführen?
     
  3. k3rn3lpanic

    k3rn3lpanic MacUser Mitglied

    Beiträge:
    83
    Zustimmungen:
    0
    MacUser seit:
    05.04.2005
    Sofern der betreffende Webserver ein Mac ist kannst Du AppleScripts auch direkt als CGIs benutzen. Evtl. ist eine Lösung denkbar, in der Du die PHP-Datei lediglich die Empfängerliste im CSV-Format generieren lässt und per AppleScript dann ausliesst und weiterverarbeitest.

    Was Du auch noch machen könntest:
    Das AppleScript in eine Datei schreiben lassen und per PHP dann ein
    PHP:
    $output = `/usr/bin/osascript [applescript-datei]`;
    machst. Das versetzt Dich in die Lage, die Ausgaben des AppleScripts (also textReturned) im PHP-Skript weiterverarbeiten zu können.

    Beides funktioniert natürlich nur, wenn der Webserver ein Mac ist - wie bereits gesagt.

    Viel Spass :D

    Edit:
    Zu Deiner zweiten Frage:
    Den Inhalt einer Variablen kannst du per eval() ausführen, also bspw:
    PHP:
    $var "echo 'test';"
    eval($var);
    Ausgabe:
    Code:
    test
    Dabei ist allerdings zu bemerken, dass eval die gleiche Zeit benötigt, als wenn ein neues PHP-Skript aufgerufen werden würde. Rasmus Lerdorf sagte mal, dass wenn eval() die Antwort ist, man die Frage überdenken sollte *g*
     
    Zuletzt bearbeitet: 28.04.2005
  4. balufreak

    balufreak Thread Starter MacUser Mitglied

    Beiträge:
    1.560
    Zustimmungen:
    28
    MacUser seit:
    12.10.2003
    Danke für deine Antwort!
    Aber du hast mich glaube ich nicht ganz verstanden.

    Ich habe eine PHP script welches mir als ausgabe ein Applescript generiert => Quellcode=Applescript nun lese ich diesen Quellcode aus in eine Variable und zwar wie folgt:
    Code:
    tell application "Safari"
    	set theDocument to make new document
    	set URL of theDocument to "http://domain/ordner/applescript.php"
    	delay (5) (* Wartet bis die Seite geladen ist *)
    	set theSource to the source of document 1 as string
    	quit
    end tell
    Nun möchte ich die Variable theSource als Applescript ausführen ohne es zwischenspeichern zu müssen.

    Weisst du jetzt was ich meine?
     
    Zuletzt bearbeitet: 28.04.2005
  5. k3rn3lpanic

    k3rn3lpanic MacUser Mitglied

    Beiträge:
    83
    Zustimmungen:
    0
    MacUser seit:
    05.04.2005
    Oh, Verzeihung, hab Dich leider missverstanden. Kann Dir da aber nun leider nicht weiterhelfen :(

    Viel Glück!
     
  6. balufreak

    balufreak Thread Starter MacUser Mitglied

    Beiträge:
    1.560
    Zustimmungen:
    28
    MacUser seit:
    12.10.2003
    Kein Problem!

    Habs herausgefunden zwar geht das so:
    Code:
    tell application "Safari"
    	make new document
    	set URL of document 1 to "http://www.domain.de/pfad/zur/datei.php"
    	delay (5) (* Wartet bis die Seite geladen ist *)
    	set theSource to the source of document 1 as string
    	close document 1
    end tell
    run script (theSource)
    Sollte eigentlich selbserklärend sein.
     

Diese Seite empfehlen