Like all Egyptians, I had to modify all my phone book to be in-sync with the new numbering domains. First of all I tried to download the tool provided by Vodafone Engezly, After installation I ran the phone book updater, and I got a very nice message “No Contacts Need To Be Changed” :D.
A friend told me about some desktop “Windows” tool to do the job, “EgyMobiED“, I followd the steps and after some hassle I managed to backup my contacts using Windows 7 Bluetooth devices, and searched my disk till I found where does Windows 7 store them(*.VCF format files) for further Restore operation.
I tried EgyMobiED and it did the job well, Now I have to get them back to my mobile, I deleted all my contacts using Sony Ericsson PC Companion Phone Contacts tool, and tried to restore the contacts using Windows 7 Bluetooth Devices Restore Backed-up contacts and found that I have to accept each contact on my mobile (pressing accept and minimize per each contact) and I have 385 one ! :S, Moreover it failed multiple times and I had to restart the operation and uncheck the restored contacts, So it was just like a nightmare!
I googled and found some Sony Ericsson tool called Sync Phones which requires Windows Contacts (*.CONTACT format files), So I imported my *.VCF files into Windows Contacts, and smoothly synchronized my mobile with Windows Contacts.
Now I have all my contacts again on phone, But I found a new problem!!! 😀
My problem was historical to some extent, Since I migrated from Nokia mobile 2 years ago using the same technique (Windows 7 Bluetooth Devices tools), the imported contacts was in that format:
BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8:Foo;
FN;CHARSET=UTF-8:Bar
TEL:0123456789
X-IRMC-LUID:0002000004F4
END:VCARD
The Number filed was like that (TEL:0123456789), which Windows Contacts did not recognize in importing from VCF format to CONTACT format .
So I had to replace all my VCF contacts to Windows Contacts recognizable format by replacing all “TEL:” with “TEL;CELL”, So it is time for Python 😀
I quickly wrote this snippet and managed to convert my number field to recognizable one and re-synchronized my phone again, and IT WORKS 😀
'''
Created on Oct 8, 2011
@author: arefaey
'''
import os
src = '/home/arefaey/Desktop/src'
dest = '/home/arefaey/Desktop/dest'
inputs = os.listdir(src)
outputs = os.listdir(dest)
for contact in inputs:
f = os.path.join(src, contact)
f = open(f, 'r')
o = os.path.join(dest, contact)
o = open(o, 'w')
for line in f.readlines():
line = line.replace('TEL:', 'TEL;CELL:')
o.writelines(line)
o.flush()
print 'Contact : %s is done' % contact
Now all contacts turned into this format:
BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8:Foo;
FN;CHARSET=UTF-8:Bar
TEL;CELL:0123456789
X-IRMC-LUID:0002000004F4
END:VCARD
For sure I had some victims when a VCF file contains both “TEL:” and “TEL;CELL:” so after refactoring I had duplicate CELL fields and the mobile just recognized the first, isA I will implement a new snipped to resolve this issue :D.
Thanks Ayman for your nice tool.