(toiminnot)

hwechtla-tl: Yhteystiedot tekstimuodosta kännykkään

Kierre.png

Mikä on WikiWiki?
nettipäiväkirja
koko wiki (etsi)
viime muutokset


Päivitys: katso nettipäiväkirja 23.05.2014.

Olen jo aika pitkään pitänyt yhteystietojani määrämuotoisessa tekstitiedostossa. Tämä muoto on osoittautunut erittäin hyväksi tietojen organisoimiseen, säilyvyyteen ja poimintaan, mutta ongelma on tietysti se, että kaikki konnektiviteetti, siis tietojen siirtäminen uusiin muotoihin, pitää toteuttaa itse. Minulla oli yli vuoden aika, jona en ole saanut siirretyksi tietoja kännyköihini, koska gnokii (loistava ohjelma muuten) on alkanut jäädä jälkeen eikä siis toimi enää useimpien kännyköiden kanssa, ja Nokian omiin ratkaisuihin, PC Suiteen ja ovi.comiin, on vaikea tuoda tietoja mistään muualta. SyncML:ään perustuvat ohjelmat taas toimivat miten sattuu ja Nokia tuntuu rikkovan oman SyncML-tukensa vähän väliä.

Nyt sain viimeinkin löydetyksi polun, jota pitkin saan tiedot siirretyksi ainakin kännykän suuntaan (yleensä en tarvitse siirtoa kännykästä pois, koska mieluummin lisään uudet yhteystiedot suoraan autoritatiiviseen tekstitiedostoon kuin kännykän muistiin). Käytän erittäin kätevää nettipalvelua http://mobical.net/ , joka teki minuun vaikutuksen yksinkertaisuudellaan: tämä on mm. ainoa palvelu, johon tunnuksen perustamiseksi ei tarvitse antaa muuta yhteystietoa kuin puhelinnumeronsa. Yhteystiedot saa importatuksi sinne vcard-tiedostona ja SyncML-synkronointi toimii kaikilla malleilla, joita olen tähän mennessä kokeillut. (Nokian SyncML-over-internet on muutenkin paljon vakaampi kuin SyncML-over-bluetooth.)

Siltä varalta, että joku haluaa järjestellä yhteystietonsa samalla tavalla, panen tähän muunnosskriptin, jolla tekstimuodosta saa vcard-yhteystietoja. Lähdemuoto näyttää tältä:

Uolevi Junnukainen      uolevi.junnukainen@savo.fi (asiakas,kalkkis)    +35853490112,+358503078853
Kaisa "Karo" Sonnenmäki os. Kolehma     kaisa.sonnenmaki@netti.fi       (tuttu) +358440993705
Urpo Nikunen    ?       (asiakas,tuttu) +358407025531

Joka rivillä on siis neljä sarkainmerkillä erotettua kenttää: nimi mahdollisine lisänimineen, sähköpostiosoite tai "?" jos ei tiedossa, sulkeissa lista tageja joiden perusteella voi etsiä / valikoida yhteystietoja, sekä pilkuin erotettu lista puhelinnumeroita. Puhelinnumerokentän voi jättää kokonaan pois.

Tässä on skripti, jolla voi tuottaa vcard-tiedoston:

-- klip --

#!/usr/bin/awk -f

BEGIN { FS="\t"; }

$4 {
        print "BEGIN:VCARD";
        print "VERSION:2.1";
        cnameindex = match($1, "([^ ]* os. )?[^ ]*$");
        match($1, "^[^ ]*");
        print "N:" substr($1,cnameindex) ";" substr($1,0,cnameindex-2);
        print "FN:" $1;
        if ($2 != "?") {
                print "EMAIL:" $2;
        }
        split($4,numerot,",");
        for ( i in numerot ) {
                if (numerot[i] !~ /\+358/) type = "INTL";
                else if (numerot[i] ~ /358([123]0|9191|9310)/) type = "WORK";
                else if (numerot[i] ~ /358[23689]/) type = "HOME";
                else type = "CELL";
                print "TEL;" type ":" numerot[i];
        }
        print "END:VCARD";
}
-- klip --

Jos jollakulla on vielä kännykkä, johon saa gnokiilla lähetetyksi tietoja (gnokii --writephonebook -o), tässä on skripti, joka tuottaa gnokiin siirtomuotoa:

-- klip --

#!/usr/bin/awk -f

BEGIN { FS="\t"; juokseva = 0; }

$4 {
        juokseva += 1;
        split($4,numerot,",");
        numtext = "";
        j2 = 0;
        for ( i in numerot ) {
                j2 += 1;
                if (numerot[i] !~ /\+358/) type = 4;
                else if (numerot[i] ~ /358([123]0|9191|9310)/) type = 6;
                else if (numerot[i] ~ /358[23689]/) type = 2;
                else type = 3;
                numtext = numtext ";11;" type ";" j2 ";" numerot[i];
        }
        sposti = "";
        if ($2 != "?") {
                j2 += 1;
                sposti = ";8;0;" j2 ";" $2;
        }
        print $1 ";;ME;" juokseva ";5" numtext sposti;
}
-- klip --

Ja viimeiseksi, tässä on skripti, jolla yhteystiedoista saa HTML-taulukon esim. tulostamista varten:

-- klip --

#!/bin/sed -f

1i\
<table border=0>
$a\
</table>

s#^#<tr><td>#
s#$#</td></tr>#
s#      #</td><td>#g

-- klip --



kommentoi (viimeksi muutettu 23.05.2014 15:25)