error "„Contacts“ hat einen Fehler erhalten: AppleEvent lieferte eine Zeitüberschreitung." number -1

roedert

roedert

Aktives Mitglied
Thread Starter
Dabei seit
05.01.2011
Beiträge
12.146
Reaktionspunkte
3.314
Monate-, wenn nicht sogar jahrelang lief auf meinem Mac-Server (10.12.6) ein kleines Applescript, welches die Kontakte als eine vcf-Datei exportiert - als Backup und zum Export in die Telefonanlage.
Code:
export_vcf.scpt:
tell application "Contacts"
    set the clipboard to (vcard of people) as text
    do shell script "/scripts/export_vcf.sh"
end tell

export_vcf.sh
export LANG=de_DE.UTF-8
pbpaste > /export.daily/contacts.vcf

Doch seit gestern (ohne eine mir bekannte Änderung am System) klappt es nicht mehr. Direkt im Scripteditor ausgeführt, kommt nach einiger Zeit diese Fehlermeldung:

Ergebnis:
error
"„Contacts“ hat einen Fehler erhalten: AppleEvent lieferte eine Zeitüberschreitung." number -1712

Irgendeine Idee, wo man da ansetzen könnte?
 
Ich würde das shell script aus der "Contacts" Anweisung rausnehmen.
Code:
tell application "Contacts"
    set the clipboard to (vcard of people) as text
end tell
do shell script "/scripts/export_vcf.sh"

Du kannst ja mal beide Anweisungen einzeln ausführen um zu sehen ob das shell script oder das Applescript klemmt.
 
Das ist nicht das Problem ... er bleibt bei dem set clipboard hängen

Edit: Problem wahrscheinlich gefunden - zu viele Daten. Ein paar uralte Kontakte gelöscht und es geht wieder. Hat das Clipboard eine maximale Größe und kann man diese evtl. ändern?
Die aktuell von pbpaste erzeigte Datei ist ca. 12MB.

Oder gibt es einen eleganteren Weg ohne die Zwischenablage, alle Kontakte automatisiert in eine vcf-Datei zu exportieren?
 
z.B:
Code:
set fileReference to open for access file "Pfad:zu:Deinem:File.vcf" with write permission
tell application "Contacts"
    write ((vcard of people) as text) to fileReference
end tell
close access fileReference
Vorsicht. Die erste Version hatte einen Fehler. Die obige sollte funktionieren.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: roedert
Hatte das Script wie in #4 vorgeschlagen umgestellt. Klappt prinzipiell auch, aber Umlaute passen jetzt nicht mehr.
Deshalb war ja im Shellscript auch ein "export LANG=de_DE.UTF-8"
Jemand ein Idee wie ich dies auch noch direkt ins AppleScript eingebaut bekomme?

Besten Danks schonmal!

Edit: Selbst herausgefunden :)
Code:
write ((vcard of people) as text) to fileReference as «class utf8»
 
  • Gefällt mir
Reaktionen: Atalantia
Zurück
Oben Unten