* src/WriteXML.py: Switch from preferred to alt name attribute.
* doc/grampsxml.dtd: Update. * src/ReadXML.py: Bring in sync with format changes. svn: r5287
This commit is contained in:
parent
c21cf57674
commit
4d49d66df5
@ -6,6 +6,10 @@
|
||||
* src/plugins/CmdRef.py: Work out Report docs.
|
||||
* src/Report.py: Typo.
|
||||
|
||||
* src/WriteXML.py: Switch from preferred to alt name attribute.
|
||||
* doc/grampsxml.dtd: Update.
|
||||
* src/ReadXML.py: Bring in sync with format changes.
|
||||
|
||||
2005-10-06 Martin Hawlisch <Martin.Hawlisch@gmx.de>
|
||||
* src/plugins/CmdRef.py: New file.
|
||||
|
||||
|
@ -109,7 +109,7 @@ GENDER has values of M, F, or U.
|
||||
<!ELEMENT name (first?,last?,suffix?,patronymic?,title?,
|
||||
(daterange|dateval|datestr)?,note?,sourceref?)>
|
||||
<!ATTLIST name
|
||||
preferred (0|1) #IMPLIED
|
||||
alt (0|1) #IMPLIED
|
||||
type CDATA #IMPLIED
|
||||
priv (0|1) #IMPLIED
|
||||
sort CDATA #IMPLIED
|
||||
|
@ -527,7 +527,8 @@ class GrampsParser:
|
||||
|
||||
def start_sealed_to(self,attrs):
|
||||
try:
|
||||
family = self.db.find_family_from_handle(attrs['hlink'],self.trans)
|
||||
family = self.db.find_family_from_handle(
|
||||
attrs['hlink'].replace('_',''),self.trans)
|
||||
except KeyError:
|
||||
handle = self.map_fid(attrs['ref'])
|
||||
family = self.find_family_by_gramps_id(handle)
|
||||
@ -535,7 +536,8 @@ class GrampsParser:
|
||||
|
||||
def start_place(self,attrs):
|
||||
try:
|
||||
self.placeobj = self.db.find_place_from_handle(attrs['hlink'],self.trans)
|
||||
self.placeobj = self.db.find_place_from_handle(
|
||||
attrs['hlink'].replace('_',''),self.trans)
|
||||
except KeyError:
|
||||
handle = self.map_pid(attrs['ref'])
|
||||
self.placeobj = self.find_place_by_gramps_id(handle)
|
||||
@ -543,7 +545,8 @@ class GrampsParser:
|
||||
def start_placeobj(self,attrs):
|
||||
handle = self.map_pid(attrs['id'])
|
||||
try:
|
||||
self.placeobj = self.db.find_place_from_handle(attrs['handle'],self.trans)
|
||||
self.placeobj = self.db.find_place_from_handle(
|
||||
attrs['handle'].replace('_',''),self.trans)
|
||||
self.placeobj.set_gramps_id(handle)
|
||||
except KeyError:
|
||||
self.placeobj = self.find_place_by_gramps_id(handle)
|
||||
@ -586,7 +589,8 @@ class GrampsParser:
|
||||
self.in_witness = 1
|
||||
self.witness_comment = ""
|
||||
if attrs.has_key('hlink'):
|
||||
self.witness = RelLib.Witness(RelLib.Event.ID,attrs['hlink'])
|
||||
self.witness = RelLib.Witness(RelLib.Event.ID,
|
||||
attrs['hlink'].replace('_',''))
|
||||
elif attrs.has_key('ref'):
|
||||
person = self.find_person_by_gramps_id(self.map_gid(attrs["ref"]))
|
||||
self.witness = RelLib.Witness(RelLib.Event.ID,person.get_handle())
|
||||
@ -645,7 +649,8 @@ class GrampsParser:
|
||||
|
||||
def start_bmark(self,attrs):
|
||||
try:
|
||||
person = self.db.find_person_from_handle(attrs['hlink'],self.trans)
|
||||
person = self.db.find_person_from_handle(
|
||||
attrs['hlink'].replace('_',''),self.trans)
|
||||
except KeyError:
|
||||
handle = self.map_gid(attrs["ref"])
|
||||
person = self.find_person_by_gramps_id(handle)
|
||||
@ -656,7 +661,8 @@ class GrampsParser:
|
||||
self.callback(True)
|
||||
new_id = self.map_gid(attrs['id'])
|
||||
try:
|
||||
self.person = self.db.find_person_from_handle(attrs['handle'],self.trans)
|
||||
self.person = self.db.find_person_from_handle(
|
||||
attrs['handle'].replace('_',''),self.trans)
|
||||
self.person.set_gramps_id(new_id)
|
||||
except KeyError:
|
||||
self.person = self.find_person_by_gramps_id(new_id)
|
||||
@ -668,27 +674,30 @@ class GrampsParser:
|
||||
|
||||
def start_people(self,attrs):
|
||||
if attrs.has_key('home'):
|
||||
self.home = attrs['home']
|
||||
self.home = attrs['home'].replace('_','')
|
||||
elif attrs.has_key("default"):
|
||||
self.tempDefault = attrs["default"]
|
||||
|
||||
def start_father(self,attrs):
|
||||
try:
|
||||
person = self.db.find_person_from_handle(attrs['hlink'],self.trans)
|
||||
person = self.db.find_person_from_handle(
|
||||
attrs['hlink'].replace('_',''),self.trans)
|
||||
except KeyError:
|
||||
person = self.find_person_by_gramps_id(self.map_gid(attrs["ref"]))
|
||||
self.family.set_father_handle(person.get_handle())
|
||||
|
||||
def start_mother(self,attrs):
|
||||
try:
|
||||
person = self.db.find_person_from_handle(attrs['hlink'],self.trans)
|
||||
person = self.db.find_person_from_handle(
|
||||
attrs['hlink'].replace('_',''),self.trans)
|
||||
except KeyError:
|
||||
person = self.find_person_by_gramps_id(self.map_gid(attrs["ref"]))
|
||||
self.family.set_mother_handle(person.get_handle())
|
||||
|
||||
def start_child(self,attrs):
|
||||
try:
|
||||
person = self.db.find_person_from_handle(attrs['hlink'],self.trans)
|
||||
person = self.db.find_person_from_handle(
|
||||
attrs['hlink'].replace('_',''),self.trans)
|
||||
except KeyError:
|
||||
person = self.find_person_by_gramps_id(self.map_gid(attrs["ref"]))
|
||||
self.family.add_child_handle(person.get_handle())
|
||||
@ -720,7 +729,8 @@ class GrampsParser:
|
||||
self.count = self.count + 1
|
||||
handle = self.map_fid(attrs["id"])
|
||||
try:
|
||||
self.family = self.db.find_family_from_handle(attrs["handle"],self.trans)
|
||||
self.family = self.db.find_family_from_handle(
|
||||
attrs['handle'].replace('_',''),self.trans)
|
||||
self.family.set_gramps_id(handle)
|
||||
except KeyError:
|
||||
self.family = self.find_family_by_gramps_id(handle)
|
||||
@ -735,7 +745,8 @@ class GrampsParser:
|
||||
|
||||
def start_childof(self,attrs):
|
||||
try:
|
||||
family = self.db.find_family_from_handle(attrs["hlink"],self.trans)
|
||||
family = self.db.find_family_from_handle(
|
||||
attrs["hlink"].replace('_',''),self.trans)
|
||||
except KeyError:
|
||||
family = self.find_family_by_gramps_id(self.map_fid(attrs["ref"]))
|
||||
|
||||
@ -757,7 +768,8 @@ class GrampsParser:
|
||||
|
||||
def start_parentin(self,attrs):
|
||||
try:
|
||||
family = self.db.find_family_from_handle(attrs['hlink'],self.trans)
|
||||
family = self.db.find_family_from_handle(
|
||||
attrs['hlink'].replace('_',''),self.trans)
|
||||
except KeyError:
|
||||
family = self.find_family_by_gramps_id(self.map_fid(attrs["ref"]))
|
||||
self.person.add_family_handle(family.get_handle())
|
||||
@ -777,6 +789,10 @@ class GrampsParser:
|
||||
self.name.conf = 2
|
||||
if attrs.has_key("priv"):
|
||||
self.name.set_privacy(int(attrs["priv"]))
|
||||
if attrs.has_key("alt"):
|
||||
self.alt_name = int(attrs["alt"])
|
||||
else:
|
||||
self.alt_name = 0
|
||||
|
||||
def start_last(self,attrs):
|
||||
if attrs.has_key('prefix'):
|
||||
@ -793,7 +809,8 @@ class GrampsParser:
|
||||
def start_sourceref(self,attrs):
|
||||
self.source_ref = RelLib.SourceRef()
|
||||
try:
|
||||
source = self.db.find_source_from_handle(attrs["hlink"],self.trans)
|
||||
source = self.db.find_source_from_handle(
|
||||
attrs["hlink"].replace('_',''),self.trans)
|
||||
except KeyError:
|
||||
source = self.find_source_by_gramps_id(self.map_sid(attrs["ref"]))
|
||||
|
||||
@ -828,7 +845,8 @@ class GrampsParser:
|
||||
def start_source(self,attrs):
|
||||
handle = self.map_sid(attrs["id"])
|
||||
try:
|
||||
self.source = self.db.find_source_from_handle(attrs["handle"],self.trans)
|
||||
self.source = self.db.find_source_from_handle(
|
||||
attrs['handle'].replace('_',''),self.trans)
|
||||
self.source.set_gramps_id(handle)
|
||||
except KeyError:
|
||||
self.source = self.find_source_by_gramps_id(handle)
|
||||
@ -836,7 +854,8 @@ class GrampsParser:
|
||||
def start_objref(self,attrs):
|
||||
self.objref = RelLib.MediaRef()
|
||||
try:
|
||||
obj = self.db.find_object_from_handle(attrs['hlink'],self.trans)
|
||||
obj = self.db.find_object_from_handle(
|
||||
attrs['hlink'].replace('_',''),self.trans)
|
||||
except KeyError:
|
||||
obj = self.find_object_by_gramps_id(self.map_oid(attrs['ref']))
|
||||
|
||||
@ -859,7 +878,8 @@ class GrampsParser:
|
||||
def start_object(self,attrs):
|
||||
handle = self.map_oid(attrs['id'])
|
||||
try:
|
||||
self.object = self.db.find_object_from_handle(attrs['handle'],self.trans)
|
||||
self.object = self.db.find_object_from_handle(
|
||||
attrs['handle'].replace('_',''),self.trans)
|
||||
self.object.set_gramps_id(handle)
|
||||
except KeyError:
|
||||
self.object = self.find_object_by_gramps_id(handle)
|
||||
@ -1126,10 +1146,17 @@ class GrampsParser:
|
||||
if self.in_witness:
|
||||
self.witness = RelLib.Witness(RelLib.Event.NAME,tag)
|
||||
else:
|
||||
if self.name.get_type() == "":
|
||||
self.name.set_type("Birth Name")
|
||||
self.person.set_primary_name (self.name)
|
||||
self.person.get_primary_name().build_sort_name()
|
||||
if self.alt_name:
|
||||
# former aka tag -- alternate name
|
||||
if self.name.get_type() == "":
|
||||
self.name.set_type("Also Known As")
|
||||
self.person.add_alternate_name(self.name)
|
||||
else:
|
||||
if self.name.get_type() == "":
|
||||
self.name.set_type("Birth Name")
|
||||
self.person.set_primary_name (self.name)
|
||||
self.person.get_primary_name().build_sort_name()
|
||||
|
||||
self.name = None
|
||||
|
||||
def stop_ref(self,tag):
|
||||
|
@ -263,9 +263,9 @@ class XmlWriter:
|
||||
self.write_line("gender","F",3)
|
||||
else:
|
||||
self.write_line("gender","U",3)
|
||||
self.dump_name(person.get_primary_name(),True,3)
|
||||
self.dump_name(person.get_primary_name(),False,3)
|
||||
for name in person.get_alternate_names():
|
||||
self.dump_name(name,False,3)
|
||||
self.dump_name(name,True,3)
|
||||
|
||||
self.write_line("nick",person.get_nick_name(),3)
|
||||
birth = self.db.get_event_from_handle(person.get_birth_handle())
|
||||
@ -651,12 +651,12 @@ class XmlWriter:
|
||||
if value != None:
|
||||
self.g.write('%s<%s>%s</%s>\n' % (' '*indent,label,self.fix(value),label))
|
||||
|
||||
def dump_name(self,name,preferred=False,index=1):
|
||||
def dump_name(self,name,alternative=False,index=1):
|
||||
sp = " "*index
|
||||
name_type = name.get_type()
|
||||
self.g.write('%s<name' % sp)
|
||||
if preferred:
|
||||
self.g.write(' preferred="1"')
|
||||
if alternative:
|
||||
self.g.write(' alt="1"')
|
||||
if name_type:
|
||||
self.g.write(' type="%s"' % name_type)
|
||||
if name.get_privacy() != 0:
|
||||
|
Loading…
x
Reference in New Issue
Block a user