- Addicts brorsa
- Medlem ●
- Uppsala
- 2004-01-05 22:01
Brorsan ville kunna föra över "snigel"postadresser från Adressboken i OS X till sin T610. Så jag gjorde nedanstående AppleScript som i Adressboken helt enkelt kopierar gatuadressen till fältet "Befattning" ("Titel" i Jaguar), samt postnumret och postorten till fältet "Företag". Dessa fält kan iSyncas med mobilens telefonbok (brorsans idé). Om gruppen "T610-adresser" existerar så kommer bara adresskort som tillhör den gruppen att behandlas.
*****
JAG INSÅG NYSS att "Titel" och "Företag" i telefonen rymmer YNKLIGA 15 TECKEN vardera. Det gör att det här skriptet blir av ganska BEGRÄNSAD NYTTA. Men jag ska modifiera skriptet för att underlätta att man klämmer in så mycket information som möjligt i det begränsade utrymmet.
*****
(Tips: För att undvika att husnumret trunkeras bort bör man skriva exempelvis "Tellusborgsv 28" snarare än "Tellusborgsväge". Ett annat smart sätt är att skriva husnumret först, enligt utländsk modell – "10 Evert Taubes" i stället för "Evert Taubes vä". En annan idé är att skippa onödiga mellanslag.)
Om någon vet en bättre lösning på detta så är brorsan intresserad.
Jag är inte AppleScript-kunnig, så skriptet kan säkert förbättras. Brorsan störs inte av att postadresserna lagras på två ställen i Adressbokens adresskort – annars skulle jag gjort skriptet så att det sparade undan adressboken i omodifierat skick som kunde återställas efter synkningen (kan ändå göras manuellt). Observera att eventuellt innehåll i "Befattning" ("Titel") och "Företag" blir överskrivet (men endast om det fanns någon postadress att kopiera). Om ett adresskort har flera postadresser så kopieras endast den första.
(* AdresserTill610 Kopierar Gatu- och Postadresser i Adressboken till fälten "Befattning" och "Företag", som kan iSyncas med Sony Ericsson T610. (Mac OS 10.2–10.3) Observera att "Titel" och "Företag" i telefonen bara rymmer 15 tecken vardera! *) set adressGruppen to "T610-adresser" (* Om adressGruppen existerar kommer skriptet bara att behandla adresskort som tillhör den gruppen. Annars behandlas alla adresskort i adressboken. *) tell application "Address Book" if the group adressGruppen exists then set personListan to the id of every person in the group adressGruppen else set personListan to the id of every person end if repeat with enPerson in personListan set Adressen to the first address of person id enPerson set postNumret to the zip of Adressen as text if postNumret is "missing value" then set postNumret to "" end if set postOrten to the city of Adressen as text if postOrten is "missing value" then set postOrten to "" end if if postNumret is not "" or postOrten is not "" then if postNumret is "" or postOrten is "" then -- den ena av dem är blank set postAdressen to postNumret & postOrten else set postAdressen to postNumret & space & postOrten end if set the organization of person id enPerson to postAdressen --> "Företag" end if set gatuAdressen to the street of Adressen as text if gatuAdressen is not in {"missing value", ""} then set the job title of person id enPerson to gatuAdressen --> "Befattning" end if end repeat save addressbook quit end tell
Idéer till förbättringar (som jag inte tänker göra):
Automatiskt kopiera undan adressboken i omodifierat skick, kanske rentav kombinerat med att automatiskt köra iSync och sedan återställa.
Varna ifall det finns innehåll i "Befattning" eller "Företag" som riskerar att bli överskrivet (man skulle kunna skilja en verklig befattning eller organisationsnamn från en tidigare kopierad postadress genom att padda postadressen med mellanslag till minst 15 tecken och lägga till ett särskilt tecken som indikerar att det är en postadress (och som trunkeras bort i telefonen)).
Varna för att adresser trunkeras. Flytta automatiskt husnumret till före gatunamnet.
Ta bort mellanslag mellan bokstäver och siffror för att spara utrymme.
Ett kompletterande skript som i Adressboken kopierar (eller flyttar) adresserna åt andra hållet. Och ett skript som bara rensar fälten "Befattning" och "Företag".
Ett Droplet-skript som bara behandlar de grupper eller adresskort som släpps på det.
Eller behandla automatiskt bara den grupp som i iSync är vald för synkning.
Patcha T610:s telefonbok till att lagra postadresser ...