+def normalizeLongLines(file):
+ """
+ Skip line breaks after 72 chars
+ """
+ buf = ''
+
+ line = file.readline()
+ while line:
+ if line[0] == ' ':
+ buf = buf.rstrip('\n')
+ line = line.lstrip();
+ buf += line
+ else:
+ buf += line
+ line = file.readline()
+
+ return buf
+
+def getEmailAddress(vcard):
+ """
+ Get email address.
+ Supported formats:
+ - email;something
+ - email;type=something
+ something := (internet,work,home, other)
+ """
+
+ for key in vcard:
+ items = key.split(';')
+ if len(items) == 2:
+ if items[0].lower() == 'email':
+ list = vcard[key]
+ return list[0]
+ else:
+ if key.lower() == 'email':
+ list = vcard[key]
+ return list[0]
+
+ return ""
+
+def findName(vcard):
+ """
+ Find a version 3.0 name
+ """
+ for key in vcard:
+ items = key.split(';')
+ if len(items) == 2:
+ if items[0].lower() == 'n':
+ return vcard[key]
+ else:
+ if key.lower() == 'n':
+ return vcard[key]
+
+ return None