export contacts as cvs
import sysinfo import e32 import os import os.path import re import time import urllib import contacts import codecs CODEC='utf-16' CVSFILENAME='E:\\contactsdb.cvs' def getFieldtypenames(): "Return the list of fields" dic = contacts.fieldtypemap num = [[v,k] for k,v in dic.items()] num.sort() if num[0][0]==0 and num[0][1]=='none': del num[0] return [v for k,v in num] def exportContacts(filename): messages = [] f = None try: f = codecs.open(filename,'w+',CODEC) except: print 'error creation file' if not f: return -1 fields = getFieldtypenames() fieldformat = u''.join(['%('+v+')s,' for v in fields ])[0:-1] fieldformat+= '\n' fieldname = u''.join([''+v+',' for v in fields ])[0:-1] f.write("%s\n"%fieldname) try: db = contacts.open() idlist = db.keys() for id in idlist: newdict = dict([[k,''] for k in fields]) contact = db[id] for field in contact: newdict[field.type]=field.value f.write(fieldformat%newdict) except: pass f.close() def main(): exportContacts(CVSFILENAME) if __name__=='__main__': main()