6957: VCF export/import should support [x-]gender
Added support for exporting X-GENDER and importing X-GENDER/GENDER fields. Tested with impex.sh round-trip (see the bug for details) and via logger observation. svn: r22762
This commit is contained in:
@@ -49,7 +49,7 @@ log = logging.getLogger(".ExportVCard")
|
||||
from gen.ggettext import gettext as _
|
||||
from ExportOptions import WriterOptionBox
|
||||
import const
|
||||
from gen.lib import Date
|
||||
from gen.lib import Date, Person
|
||||
from gen.lib.urltype import UrlType
|
||||
from gen.lib.eventtype import EventType
|
||||
from gen.display.name import displayer as _nd
|
||||
@@ -169,6 +169,7 @@ class VCardWriter(object):
|
||||
self.write_name(prname)
|
||||
self.write_sortstring(prname)
|
||||
self.write_nicknames(person, prname)
|
||||
self.write_gender(person)
|
||||
self.write_birthdate(person)
|
||||
self.write_addresses(person)
|
||||
self.write_urls(person)
|
||||
@@ -250,6 +251,18 @@ class VCardWriter(object):
|
||||
if len(nicknames) > 0:
|
||||
self.writeln("NICKNAME:%s" % (','.join(self.esc(nicknames))))
|
||||
|
||||
def write_gender(self, person):
|
||||
"""Write the X-GENDER property of a VCard (X- dropped in 4.0, we're at 3.0)."""
|
||||
gender = person.get_gender()
|
||||
gender_value = ''
|
||||
if gender == Person.MALE:
|
||||
gender_value = 'Male'
|
||||
elif gender == Person.FEMALE:
|
||||
gender_value = 'Female'
|
||||
log.info("gender: %s -> %s" % (gender, gender_value))
|
||||
if gender_value:
|
||||
self.writeln("X-GENDER:%s" % (gender_value))
|
||||
|
||||
def write_birthdate(self, person):
|
||||
"""Write the BDAY property of a VCard."""
|
||||
birth_ref = person.get_birth_ref()
|
||||
|
||||
Reference in New Issue
Block a user