* 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/plugins/CmdRef.py: Work out Report docs.
|
||||||
* src/Report.py: Typo.
|
* 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>
|
2005-10-06 Martin Hawlisch <Martin.Hawlisch@gmx.de>
|
||||||
* src/plugins/CmdRef.py: New file.
|
* 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?,
|
<!ELEMENT name (first?,last?,suffix?,patronymic?,title?,
|
||||||
(daterange|dateval|datestr)?,note?,sourceref?)>
|
(daterange|dateval|datestr)?,note?,sourceref?)>
|
||||||
<!ATTLIST name
|
<!ATTLIST name
|
||||||
preferred (0|1) #IMPLIED
|
alt (0|1) #IMPLIED
|
||||||
type CDATA #IMPLIED
|
type CDATA #IMPLIED
|
||||||
priv (0|1) #IMPLIED
|
priv (0|1) #IMPLIED
|
||||||
sort CDATA #IMPLIED
|
sort CDATA #IMPLIED
|
||||||
|
@ -527,7 +527,8 @@ class GrampsParser:
|
|||||||
|
|
||||||
def start_sealed_to(self,attrs):
|
def start_sealed_to(self,attrs):
|
||||||
try:
|
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:
|
except KeyError:
|
||||||
handle = self.map_fid(attrs['ref'])
|
handle = self.map_fid(attrs['ref'])
|
||||||
family = self.find_family_by_gramps_id(handle)
|
family = self.find_family_by_gramps_id(handle)
|
||||||
@ -535,7 +536,8 @@ class GrampsParser:
|
|||||||
|
|
||||||
def start_place(self,attrs):
|
def start_place(self,attrs):
|
||||||
try:
|
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:
|
except KeyError:
|
||||||
handle = self.map_pid(attrs['ref'])
|
handle = self.map_pid(attrs['ref'])
|
||||||
self.placeobj = self.find_place_by_gramps_id(handle)
|
self.placeobj = self.find_place_by_gramps_id(handle)
|
||||||
@ -543,7 +545,8 @@ class GrampsParser:
|
|||||||
def start_placeobj(self,attrs):
|
def start_placeobj(self,attrs):
|
||||||
handle = self.map_pid(attrs['id'])
|
handle = self.map_pid(attrs['id'])
|
||||||
try:
|
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)
|
self.placeobj.set_gramps_id(handle)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
self.placeobj = self.find_place_by_gramps_id(handle)
|
self.placeobj = self.find_place_by_gramps_id(handle)
|
||||||
@ -586,7 +589,8 @@ class GrampsParser:
|
|||||||
self.in_witness = 1
|
self.in_witness = 1
|
||||||
self.witness_comment = ""
|
self.witness_comment = ""
|
||||||
if attrs.has_key('hlink'):
|
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'):
|
elif attrs.has_key('ref'):
|
||||||
person = self.find_person_by_gramps_id(self.map_gid(attrs["ref"]))
|
person = self.find_person_by_gramps_id(self.map_gid(attrs["ref"]))
|
||||||
self.witness = RelLib.Witness(RelLib.Event.ID,person.get_handle())
|
self.witness = RelLib.Witness(RelLib.Event.ID,person.get_handle())
|
||||||
@ -645,7 +649,8 @@ class GrampsParser:
|
|||||||
|
|
||||||
def start_bmark(self,attrs):
|
def start_bmark(self,attrs):
|
||||||
try:
|
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:
|
except KeyError:
|
||||||
handle = self.map_gid(attrs["ref"])
|
handle = self.map_gid(attrs["ref"])
|
||||||
person = self.find_person_by_gramps_id(handle)
|
person = self.find_person_by_gramps_id(handle)
|
||||||
@ -656,7 +661,8 @@ class GrampsParser:
|
|||||||
self.callback(True)
|
self.callback(True)
|
||||||
new_id = self.map_gid(attrs['id'])
|
new_id = self.map_gid(attrs['id'])
|
||||||
try:
|
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)
|
self.person.set_gramps_id(new_id)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
self.person = self.find_person_by_gramps_id(new_id)
|
self.person = self.find_person_by_gramps_id(new_id)
|
||||||
@ -668,27 +674,30 @@ class GrampsParser:
|
|||||||
|
|
||||||
def start_people(self,attrs):
|
def start_people(self,attrs):
|
||||||
if attrs.has_key('home'):
|
if attrs.has_key('home'):
|
||||||
self.home = attrs['home']
|
self.home = attrs['home'].replace('_','')
|
||||||
elif attrs.has_key("default"):
|
elif attrs.has_key("default"):
|
||||||
self.tempDefault = attrs["default"]
|
self.tempDefault = attrs["default"]
|
||||||
|
|
||||||
def start_father(self,attrs):
|
def start_father(self,attrs):
|
||||||
try:
|
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:
|
except KeyError:
|
||||||
person = self.find_person_by_gramps_id(self.map_gid(attrs["ref"]))
|
person = self.find_person_by_gramps_id(self.map_gid(attrs["ref"]))
|
||||||
self.family.set_father_handle(person.get_handle())
|
self.family.set_father_handle(person.get_handle())
|
||||||
|
|
||||||
def start_mother(self,attrs):
|
def start_mother(self,attrs):
|
||||||
try:
|
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:
|
except KeyError:
|
||||||
person = self.find_person_by_gramps_id(self.map_gid(attrs["ref"]))
|
person = self.find_person_by_gramps_id(self.map_gid(attrs["ref"]))
|
||||||
self.family.set_mother_handle(person.get_handle())
|
self.family.set_mother_handle(person.get_handle())
|
||||||
|
|
||||||
def start_child(self,attrs):
|
def start_child(self,attrs):
|
||||||
try:
|
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:
|
except KeyError:
|
||||||
person = self.find_person_by_gramps_id(self.map_gid(attrs["ref"]))
|
person = self.find_person_by_gramps_id(self.map_gid(attrs["ref"]))
|
||||||
self.family.add_child_handle(person.get_handle())
|
self.family.add_child_handle(person.get_handle())
|
||||||
@ -720,7 +729,8 @@ class GrampsParser:
|
|||||||
self.count = self.count + 1
|
self.count = self.count + 1
|
||||||
handle = self.map_fid(attrs["id"])
|
handle = self.map_fid(attrs["id"])
|
||||||
try:
|
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)
|
self.family.set_gramps_id(handle)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
self.family = self.find_family_by_gramps_id(handle)
|
self.family = self.find_family_by_gramps_id(handle)
|
||||||
@ -735,7 +745,8 @@ class GrampsParser:
|
|||||||
|
|
||||||
def start_childof(self,attrs):
|
def start_childof(self,attrs):
|
||||||
try:
|
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:
|
except KeyError:
|
||||||
family = self.find_family_by_gramps_id(self.map_fid(attrs["ref"]))
|
family = self.find_family_by_gramps_id(self.map_fid(attrs["ref"]))
|
||||||
|
|
||||||
@ -757,7 +768,8 @@ class GrampsParser:
|
|||||||
|
|
||||||
def start_parentin(self,attrs):
|
def start_parentin(self,attrs):
|
||||||
try:
|
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:
|
except KeyError:
|
||||||
family = self.find_family_by_gramps_id(self.map_fid(attrs["ref"]))
|
family = self.find_family_by_gramps_id(self.map_fid(attrs["ref"]))
|
||||||
self.person.add_family_handle(family.get_handle())
|
self.person.add_family_handle(family.get_handle())
|
||||||
@ -777,6 +789,10 @@ class GrampsParser:
|
|||||||
self.name.conf = 2
|
self.name.conf = 2
|
||||||
if attrs.has_key("priv"):
|
if attrs.has_key("priv"):
|
||||||
self.name.set_privacy(int(attrs["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):
|
def start_last(self,attrs):
|
||||||
if attrs.has_key('prefix'):
|
if attrs.has_key('prefix'):
|
||||||
@ -793,7 +809,8 @@ class GrampsParser:
|
|||||||
def start_sourceref(self,attrs):
|
def start_sourceref(self,attrs):
|
||||||
self.source_ref = RelLib.SourceRef()
|
self.source_ref = RelLib.SourceRef()
|
||||||
try:
|
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:
|
except KeyError:
|
||||||
source = self.find_source_by_gramps_id(self.map_sid(attrs["ref"]))
|
source = self.find_source_by_gramps_id(self.map_sid(attrs["ref"]))
|
||||||
|
|
||||||
@ -828,7 +845,8 @@ class GrampsParser:
|
|||||||
def start_source(self,attrs):
|
def start_source(self,attrs):
|
||||||
handle = self.map_sid(attrs["id"])
|
handle = self.map_sid(attrs["id"])
|
||||||
try:
|
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)
|
self.source.set_gramps_id(handle)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
self.source = self.find_source_by_gramps_id(handle)
|
self.source = self.find_source_by_gramps_id(handle)
|
||||||
@ -836,7 +854,8 @@ class GrampsParser:
|
|||||||
def start_objref(self,attrs):
|
def start_objref(self,attrs):
|
||||||
self.objref = RelLib.MediaRef()
|
self.objref = RelLib.MediaRef()
|
||||||
try:
|
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:
|
except KeyError:
|
||||||
obj = self.find_object_by_gramps_id(self.map_oid(attrs['ref']))
|
obj = self.find_object_by_gramps_id(self.map_oid(attrs['ref']))
|
||||||
|
|
||||||
@ -859,7 +878,8 @@ class GrampsParser:
|
|||||||
def start_object(self,attrs):
|
def start_object(self,attrs):
|
||||||
handle = self.map_oid(attrs['id'])
|
handle = self.map_oid(attrs['id'])
|
||||||
try:
|
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)
|
self.object.set_gramps_id(handle)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
self.object = self.find_object_by_gramps_id(handle)
|
self.object = self.find_object_by_gramps_id(handle)
|
||||||
@ -1125,11 +1145,18 @@ class GrampsParser:
|
|||||||
def stop_name(self,tag):
|
def stop_name(self,tag):
|
||||||
if self.in_witness:
|
if self.in_witness:
|
||||||
self.witness = RelLib.Witness(RelLib.Event.NAME,tag)
|
self.witness = RelLib.Witness(RelLib.Event.NAME,tag)
|
||||||
|
else:
|
||||||
|
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:
|
else:
|
||||||
if self.name.get_type() == "":
|
if self.name.get_type() == "":
|
||||||
self.name.set_type("Birth Name")
|
self.name.set_type("Birth Name")
|
||||||
self.person.set_primary_name (self.name)
|
self.person.set_primary_name (self.name)
|
||||||
self.person.get_primary_name().build_sort_name()
|
self.person.get_primary_name().build_sort_name()
|
||||||
|
|
||||||
self.name = None
|
self.name = None
|
||||||
|
|
||||||
def stop_ref(self,tag):
|
def stop_ref(self,tag):
|
||||||
|
@ -263,9 +263,9 @@ class XmlWriter:
|
|||||||
self.write_line("gender","F",3)
|
self.write_line("gender","F",3)
|
||||||
else:
|
else:
|
||||||
self.write_line("gender","U",3)
|
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():
|
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)
|
self.write_line("nick",person.get_nick_name(),3)
|
||||||
birth = self.db.get_event_from_handle(person.get_birth_handle())
|
birth = self.db.get_event_from_handle(person.get_birth_handle())
|
||||||
@ -651,12 +651,12 @@ class XmlWriter:
|
|||||||
if value != None:
|
if value != None:
|
||||||
self.g.write('%s<%s>%s</%s>\n' % (' '*indent,label,self.fix(value),label))
|
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
|
sp = " "*index
|
||||||
name_type = name.get_type()
|
name_type = name.get_type()
|
||||||
self.g.write('%s<name' % sp)
|
self.g.write('%s<name' % sp)
|
||||||
if preferred:
|
if alternative:
|
||||||
self.g.write(' preferred="1"')
|
self.g.write(' alt="1"')
|
||||||
if name_type:
|
if name_type:
|
||||||
self.g.write(' type="%s"' % name_type)
|
self.g.write(' type="%s"' % name_type)
|
||||||
if name.get_privacy() != 0:
|
if name.get_privacy() != 0:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user