]> piware.de Git - bin.git/blobdiff - vcard2gnokii
vcard2gnokii: track memory position ourselves, for major speedup
[bin.git] / vcard2gnokii
index 7928cb9ad760a766491f3eee2e29dd824af64095..4b7ef99378d02e7f4daa5df222ee7a7498f41e1c 100755 (executable)
@@ -2,7 +2,7 @@
 
 import sys
 
-def output_info(info):
+def output_info(info, pos):
     if info.has_key('X-EVOLUTION-FILE-AS'):
        result = info['X-EVOLUTION-FILE-AS']
     elif info.has_key('N'):
@@ -12,7 +12,7 @@ def output_info(info):
        print >> sys.stderr, 'No suitable name for', info
        return
 
-    result += ';;ME;;5'
+    result += ';;ME;%i;5' % pos
 
     id = 0
 
@@ -28,7 +28,8 @@ def output_info(info):
                type = 6
 
        if kf[0] == 'ADR':
-           result += ';9;%i;%i;%s' % (type, id, '\\n'.join([f for f in v.split(';') if f]))
+            # current gnokii does not swallow type "9" (postal address)
+           result += ';10;0;%i;%s' % (id, '\\n'.join([f for f in v.split(';') if f]))
        elif kf[0] == 'EMAIL':
            result += ';8;%i;%i;%s' % (type, id, v)
        elif kf[0] == 'TEL':
@@ -42,6 +43,7 @@ def output_info(info):
 
     print result
 
+pos = 1
 info = {}
 for line in open(sys.argv[1]):
     if not line or line[0] == ' ':
@@ -59,6 +61,7 @@ for line in open(sys.argv[1]):
        if key == 'BEGIN':
            info = {}
        elif key == 'END':
-           output_info(info)
+           output_info(info, pos)
+            pos += 1
     if value:
        info[key] = value.strip()