ics in ical importieren, sobald im Verzeichnis abgelegt (folder action)

Amnion

Aktives Mitglied
Thread Starter
Dabei seit
25.10.2005
Beiträge
410
Reaktionspunkte
26
Hallo,

folgendes Szenario:

Ich exportiere auf der Arbeit Outlook->ics und maile mir die Datei zu.

Mail habe ich immerhin soweit, dass es das ics in einem Folder ablegt. Jetzt möchte ich dort noch hinter einer folder action ein applescript hinterlegen, welches mir die ics Datei automatisch in iCal importiert. Idealerweise auch unter der Angabe in welchen Kalender (Arbeit).

Geht sowas?

Gruß!
 
Hallo,
ich hatte auch mal sowas in der Richtung geplant, bin aber aus Zeitgründen bisher nicht dazu gekommen es zu realisieren, habe den Gedanken aber noch nicht aufgegeben. Mein Problem ist, dass ich bisher noch nicht mit Applescript gearbeitet habe.

Eine Frage. Warum willst Du das über den Umweg mit dem Zwischenspeichern machen?
Ich hatte folgendes Vorgehen im Visier:
über mail Regeln bei Posteingang auf Anhang mit der Endung .ics checken und dann gleich den Anhang öffnen und die Daten in ical eintragen. Wie das geht ist mir allerdings noch unklar. Vielleicht kann man es auch irgendwie "graphisch" lösen. Wenn es gelingt den Anhang automatisiert in das geöffnete ical "zu ziehen" oder zu senden. Bisher habe ich das eben immer händisch gemacht.

Wenn ich eine Lösung habe, werde ich sie auf jeden fall posten.
gruß
 
Ich bin immer noch an einer Lösung interessiert.
Per Hand kann ich wunderbar meine Outlook Kontakte in iCal importieren und auf das iPhone syncen, aber das automatisch sobald die mail eintrifft wäre die Krönung.
 
Wen kann man denn mal fragen, mir fehlt da der Ansatz. Muss ja nicht komplett sein.
 
ich habs so gelöst; ein Merge der ics Dateien ging nicht, daher erst den alten Kalender löschen.
Folgendes Script als Mail-Regel definieren und in Mail.app einhängen

using terms from application "Mail"
-- This is what allows this AppleScript to run as a Rule
on run
--Performs the following action on each new mail received
tell application "Mail" to set sel to selection
tell me to perform mail action with messages (sel)
end run
end using terms from

using terms from application "Mail"
on perform mail action with messages selectedMsgs
set theOutputFolder to "Macintosh HD:Users:###:Desktop:" (* ANPASSEN *)
tell application "Mail"

repeat with eachMessage in selectedMsgs
try
set theAttachmentName to name of mail attachment of eachMessage
set theSavePath to theOutputFolder & theAttachmentName
save mail attachment of eachMessage in theSavePath

(* delete existing calendar "outlook2ical" in iCal *)
tell application "iCal"
tell calendar "outlook2ical" (* ANPASSEN *)
delete
end tell
end tell

(* open in iCal *)
tell application "iCal" to open the theSavePath

(* delete the file *)
tell application "Finder" to delete the theSavePath

end try
end repeat

end tell

end perform mail action with messages
end using terms from
 
Hallo,

das funktioniert im Prinzip schon, nur bei
(* open in iCal *)
tell application "iCal" to open the theSavePath

will er ja immer die Angabe, in welchen Kalender er es importieren soll.
Und Tastendrücke über Systemevents kann man auch nicht senden, da er erst nach beantwortung der Frage das Script weiter führt.

Kann man die Wahl des Kalenders vermeiden?
Andere Ideen?
 
Kleiner Hinweis:
einzeilige Kommentare in AS kann man auch so schreiben:
-- open in iCal
 
Aber zum Problem selbst kann mir keiner helfen?
Wie kann ich Applescript dazu bringen die Benutzerinteraktion entweder zu vermeiden oder zu automatisieren?

Ansonsten ist es ja nutzlos.

Danke
 
Dein Problem habe ich nicht verstanden.
Das mag daran liegen, dass Du nicht zuerst das eigentliche Ziel beschreibst,
sondern nur nach dem nächsten Schritt fragst. Ich kann diesem Thread auch nicht schnell entnehmen, wo das eigentliche Problem liegt.
Das einfachste wäre, wenn Du Dein Problem in einem sehr kurzen Skript, isoliert von allem anderen, demonstrieren könntest.
 
Dachte ich hätte es oben geschrieben.
Nun gut genauer.

Gesamtszenario:
1. Export von ics im Outlook, Mailen nach hause
2. dort Import in Ical
3. MobileMe schickt aufs iPhone

Schritt 2 möchte ich automatisieren, der Rest klappt.
Dabei bin ich dank der Hilfe soweit, dass das File aus der Mail auf Platte liegt und iCal mit der Datei aufgerufen wird.

Und damit sind wir beim Problem, wie ich oben geschrieben habe fragt ical bei diesem Aufruf
Code:
(* open in iCal *)
tell application "iCal" to open the theSavePath
den Benutzer nach dem Kalender, in den er importieren soll.
Dabei gibt es eine Dropdownliste und einen Ok Klick.

Den Kalender in ICal vorher zu löschen ist kein Problem, aber trotzdem kommt die Abfrage.
Tastendrücke kann man nicht senden, da das Skript nicht weiter ausgeführt wird, bis man eben die Auswahl trifft.
Eine Shell habe ich auch mal aufgerufen, die den Import wieder über "nohup osascript" macht und dann versucht die Tasten aus dem ersten Skript heraus aufzurufen. Klappt auch nicht so.

Problem klarer, oder wo soll ich nachliefern?

Danke
 

Anhänge

  • Bild 1.png
    Bild 1.png
    28,1 KB · Aufrufe: 139
Wo ist der Code?
Edit: Lass gut sein, ich hab's kapiert.
 
Zuletzt bearbeitet:
Okay, die Lösung ist eigentlich simpel, aber sicher nicht gaz einfach umzusetzen.
Du nimmst die ics Datei, die ja im Grunde eine einfache Textdatei ist, analysierst den Inhalt, erzeugst mit "make new event" einen neuen Eintrag und setzt die Properties entsprechend dem Inhalt der ics Datei.

Im Grunde simpel, wenn man (und das dürfte die Hürde sein) das ics-Format versteht.
Ist sicher irgendwo dokumentiert, z.B. in RFC 2445.
 
Okay, die Idee hatte ich auch schon. Allerdings spare ich mir den Aufwand dann doch, bis man das rund hat kann man ja einen Hiwi einstellen der jedesmal auf ok klickt. ;)

Ist doch irgendwie nicht zu ende gedacht das ganze Applescript. Kriegt man das über einen Workflow hin?
 
...
Ist doch irgendwie nicht zu ende gedacht das ganze Applescript.
...
Eigenartige Schlussfolgerung. Nur weil in einer Application Library eine Funktion fehlt — noch dazu ein, die im Grunde nicht essentiel ist, sondern nur komfortabel wäre. :cool:
 
Eigenartige Schlussfolgerung. Nur weil in einer Application Library eine Funktion fehlt — noch dazu ein, die im Grunde nicht essentiel ist, sondern nur komfortabel wäre. :cool:

Nicht böse sein, Du brauchst Apple auch nicht verteidigen, ich bin erwachsen und kann differenzieren.
Aus meiner Sicht ist es nun mal essentiell. Ich möchte eine Aktion machen und das geht nun ausgerechnet nicht. Immer eine Frage des Standpunkts.

Aber schön zum Thema zurück, kriegt man es mit dem Automator hin?
btw. wenn es ginge, kann das Probleme geben, wenn man gerade am Rechner sitzt und arbeitet? Ich mein, da könnten die Aktionen sich ja überschneiden.
 
Ich bin doch nicht böse. Warum auch.
Auch verteidige ich Apple nicht — wüsst zumindest nicht wo und wie.

Aber wegen einer (!) fehlenden Funktion in einer App Library finde ich die Schlussfolgerung auf "das ganze Applescript" schon seltsam.

Die letzte Zeile Deines letzten Postings habe ich nicht kapiert ;).
 
Na der Automator kann doch Maus steuern und Tasten drücken.
Wenn man jetzt an das Ausgangsszenario denkt (mail kommt, Datei wird importiert) und der Automator wird automatisch aufgerufen und jemand sitzt aber gleichzeitig am Rechner, kann ich mir vorstellen, dass es Probleme geben könnte, wenn Benutzerinteraktion und Automator zusammen stoßen.

Davon ab, dass ich es mit dem Automator auch noch nicht lösen konnte.

Gruß
 
Ja, das kann Probleme geben.

Du schreibst z.B. gerade in einer Worddatei herum, aber Applescript ruft zwischendurch iCal auf. Was Du dann tippst, geht ins Leere.
 
Um dann doch noch mal schnell eine Lanze für AS zu brechen (auch ich bin überhaupt nicht böse :D ):
Was Du vorhast, läßt sich ziemlich sicher und auch ohne Riesenaufwand mit AS lösen, unter der Bedingung, daß man sich wenn man diese Sprache nicht kennt, schon ein wenig reinknien muß.
Ich persönlich bin von Haus aus ganz und gar kein Programmierer und habe AppleScript Mitte der 90er mit meinem ersten Mac (System 7.6) kennengelernt. Die Quellen im bischen Internet, das es damals gab, waren äußerst dürftig, gar kein Vergleich mit den heutigen tausenden von Webseiten, in denen man Anleitungen findet, um sich AS beizubringen. Mir hat das trotzdem Spaß gemacht, weil es so was wie programmieren "for the rest of us" war und mir bewiesen hat, daß man mit ein wenig Gedult und viel try&error auch als blutiger Laie sehr brauchbare Ergebnisse zu stande bringen kann.
Was bei einer Technik, die wie jede andere auch als solche zu erlernen ist, leider nicht funktioniert ist "ich möchte mal schnell...".
Will man sich die Mühe sparen, dann ist es wahrscheinlich besser das Netz nach einem fertigen Programm zu durchsuchen, das einem den Job abnimmt.

Ciao
Farid
 
Zurück
Oben Unten