Apple Script für das Öffnen einer URL zu einem bestimmten Zeitpunkt

J

Jo*

Aktives Mitglied
Thread Starter
Dabei seit
10.01.2007
Beiträge
467
Reaktionspunkte
59
Hallo zusammen,

leider hab ich recht wenig (genau genommen gar keine) Ahnung vom Scripte schreiben :rolleyes:

Mir ist da der Gedanke für ein (möglicherweise auch für andere?) recht brauchbares Script gekommen...

Das ganze soll dazu dienen, auf komfortable Weise den Ablauf von beobachteten ebay-Auktionen nicht zu versäumen (bitte keine Diskussionen über das Für und Wider von ebay ;) )

Also, ich stelle mir den Ablauftermin der Auktion, die mich interessiert, in meinem iCal ein. Dazu eine iCal-Erinnerung mit xx Min. vor dem eigentlichen Auktionsende-Termin. Jetzt besteht ja in iCal die Möglichkeit, die Erinnerung mit dem Ausführen eines Scriptes zu kombinieren.

Wenn ich z.B. das Sript:

Code:
property target_URL : "http://cgi.ebay.de/"

open location target_URL

[I][COLOR="Red"]Bei der URL kommt dann die jeweilige ebay Auktions-URL rein[/COLOR][/I]

einfüge, dann erscheint in iCal zum Erinnerungstermin ein Abfragefenster (mit der URL), ob ich "das Thema abonnieren" möchte. Also falsch...

Wenn ich das Script hingegen als .app abgespeichere und in iCal bei der Erinnerung mit "Datei öffnen" verknüpfe, dann kommt zum Erinnerungszeitpunkt zunächst die Abfrage (siehe screenshot), ob das Script ausgeführt werden soll - also auch noch nicht ganz optimal.

Der Knüller wäre ein Script (als .scpt oder .app), dass,

1. das Script zum in iCal gesetzten Erinnerungstermin ohne weitere Abfrage ausführt, d.h. die URL im bevorzugten Browser (bei mir Firefox) öffnet
2. hierbei erforderlichenfalls den Mac einschaltet (falls dieser aus ist) bzw. aufweckt (falls er "schläft")
3. und als Sahnehäubchen obendrauf, das Script nach Verwendung automatisch löscht, da es ja nur 1x (und danach nie wieder) benötigt wird (eine Vorlage, in die man künftig nur die URL kopiert, speichert man sich ab).

Jemand Lust, sich damit auseinanderzusetzen?

Meine bescheidenen Script-Kenntnisse sind damit heillos überfordert... :eek:

Schonmal Danke!

Gruß
Jo
 

Anhänge

  • screenshot.png
    screenshot.png
    40,5 KB · Aufrufe: 134
Hallo,

Code:
tell (current date) to set JETZT to it - (its seconds)
set jetztigeTerminURL to ""
tell application "iCal"
	repeat with meineEintraege in calendars
		repeat with derEintrag in (get events of meineEintraege)
			if start date of derEintrag is JETZT then
				set jetztigeTerminURL to (url of derEintrag) as string
				my oeffneBrowser(jetztigeTerminURL)
				exit repeat
			end if
		end repeat
	end repeat
end tell

on oeffneBrowser(ladeURL)
	tell application "Safari"
		activate
		set URL of document 1 to ladeURL
	end tell
end oeffneBrowser

einfach als Skript abspeichern.
Wenn Du es als Applikation speicherst (ohne auf "Nicht nachfragen" beim Öffnen) speicherst, dann bekommst Du das von Dir beschriebene Problem.

Verwendung:
In iCal einfach die Adresse Deiner Auktion mit eingeben.
Das ist viel sinnvoller, als das Skript zu löschen, und immer wieder neu anzulegen ;-)

Viel Erfolg!
 
Hi little pixel,

vielen Dank für die prompte Antwort und das Script!

Irgendetwas mache ich jedoch noch falsch... :confused:

Ich hab Dein Script kopiert, den Browser ausgetauscht (Safari -> Firefox) und als .scpt abgespeichert (siehe sreenshot2)

Anschließend hab' ich versuchsweise das Script ("Test1.scpt") in die Erinnerungsfunktion von iCal eingefügt (10 Min. vor dem Termin, siehe sreenshot3), aber nix ist passiert...

Was mache ich falsch?

Gruß
Jo
 

Anhänge

  • screenshot2.png
    screenshot2.png
    45,6 KB · Aufrufe: 165
  • screenshot3.png
    screenshot3.png
    29,3 KB · Aufrufe: 151
Hallo Jo,

belasse einmal Safari als Browser, da das mit Firefox so nicht funktioniert.
Erst einmal unverändert teste. Ich habe soeben noch einmal ein Test durchgeführt, und es funktioniert einwandfrei.

Ich bin wie folgt vorgegangen:


- Termin eingetragen
- Erinnerung das Skript mit Uhrzeit angegeben

...warten :)

Ich habe dabei iCal geschlossen, und das Skript selbstverständlich auch.

Viele Grüße
 
Hi little pixel,

bingo :D

Funktioniert mit Safari -> öffnet die im Termin eingefügte URL.

Allerdings nur mit einer kleinen Einschränkung: die Erinnerung muss in iCal 0 Min. vor dem Termin-Event liegen (für die Auktionserinnerung ist das natürlich zu spät).

Kann man das mit der Zeile

Code:
[COLOR="Blue"][B]tell[/B][/COLOR] ([COLOR="Blue"]current date[/COLOR]) [COLOR="Blue"][B]to set[/B][/COLOR] [COLOR="Green"]JETZT[/COLOR] [COLOR="Blue"][B]to it[/B][/COLOR] - ([COLOR="Blue"][B]its[/B] seconds[/COLOR])

und der Referenzzeile

Code:
[COLOR="Blue"][B]if[/B] start date [B]of[/B] [COLOR="Green"]derEintrag[/COLOR] [B]is[/B] [COLOR="Green"]JETZT[/COLOR] [B]then[/B][/COLOR]

noch irgendwie anpassen?

Viele Grüße
Jo
 
am einfachsten, wenn in iCal nicht Erinnerung -> "Minute(n) davor" sondern ein Erinnungsdatum "Am" eingetragen ist (wird automatisch berechnet, wenn man erst Minuten einträgt und danach auf "Am" wächselt)
bei mehreren zeitgleichen Ereignissen, wird nur das erste berücksichtigt
"ebay2ical" durch entsprechenden Kalendernamen ersetzen

Code:
try
	tell (current date) to set JETZT to it - (its seconds)
	tell application "iCal" to set theurl to url of first event of calendar "ebay2ical" whose trigger date of first open file alarm is JETZT
	tell application "Firefox" to activate (Get URL theurl)
end try
 
Zurück
Oben Unten