2007-02-19 Alex Roitman <shura@gramps-project.org>
* src/GrampsDb/_GrampsDbWriteXML.py): Export top-level notes and note references. * src/RelLib/_Note.py (set_type,get_type): Add methods. svn: r8187
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
2007-02-19 Alex Roitman <shura@gramps-project.org>
|
||||||
|
* src/GrampsDb/_GrampsDbWriteXML.py): Export top-level notes and
|
||||||
|
note references.
|
||||||
|
* src/RelLib/_Note.py (set_type,get_type): Add methods.
|
||||||
|
|
||||||
2007-02-19 Don Allingham <don@gramps-project.org>
|
2007-02-19 Don Allingham <don@gramps-project.org>
|
||||||
* src/DataViews/_NoteView.py: Display data and columns
|
* src/DataViews/_NoteView.py: Display data and columns
|
||||||
* src/RelLib/__init__.py: import NoteType
|
* src/RelLib/__init__.py: import NoteType
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# Gramps - a GTK+/GNOME based genealogy program
|
# Gramps - a GTK+/GNOME based genealogy program
|
||||||
#
|
#
|
||||||
# Copyright (C) 2000-2006 Donald N. Allingham
|
# Copyright (C) 2000-2007 Donald N. Allingham
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -54,7 +54,7 @@ log = logging.getLogger(".WriteXML")
|
|||||||
import RelLib
|
import RelLib
|
||||||
from _GrampsDbConst import \
|
from _GrampsDbConst import \
|
||||||
PERSON_KEY,FAMILY_KEY,SOURCE_KEY,EVENT_KEY,\
|
PERSON_KEY,FAMILY_KEY,SOURCE_KEY,EVENT_KEY,\
|
||||||
MEDIA_KEY,PLACE_KEY,REPOSITORY_KEY
|
MEDIA_KEY,PLACE_KEY,REPOSITORY_KEY,NOTE_KEY
|
||||||
|
|
||||||
from _GrampsDbExceptions import *
|
from _GrampsDbExceptions import *
|
||||||
from _LongOpStatus import LongOpStatus
|
from _LongOpStatus import LongOpStatus
|
||||||
@@ -72,7 +72,7 @@ except:
|
|||||||
_gzip_ok = 0
|
_gzip_ok = 0
|
||||||
|
|
||||||
|
|
||||||
_xml_version = "1.1.3"
|
_xml_version = "1.1.4"
|
||||||
|
|
||||||
# table for skipping control chars from XML
|
# table for skipping control chars from XML
|
||||||
strip_dict = dict.fromkeys(range(9)+range(12,20))
|
strip_dict = dict.fromkeys(range(9)+range(12,20))
|
||||||
@@ -213,10 +213,10 @@ class GrampsDbXmlWriter(object):
|
|||||||
place_len = self.db.get_number_of_places()
|
place_len = self.db.get_number_of_places()
|
||||||
repo_len = self.db.get_number_of_repositories()
|
repo_len = self.db.get_number_of_repositories()
|
||||||
obj_len = self.db.get_number_of_media_objects()
|
obj_len = self.db.get_number_of_media_objects()
|
||||||
|
note_len = self.db.get_number_of_notes()
|
||||||
|
|
||||||
|
total_steps = person_len + family_len + event_len + source_len \
|
||||||
total_steps = person_len+family_len+event_len+source_len\
|
+ place_len + repo_len + obj_len + note_len
|
||||||
+place_len+repo_len+obj_len
|
|
||||||
|
|
||||||
self.status = LongOpStatus(_("Writing XML ..."),
|
self.status = LongOpStatus(_("Writing XML ..."),
|
||||||
total_steps=total_steps,
|
total_steps=total_steps,
|
||||||
@@ -252,6 +252,16 @@ class GrampsDbXmlWriter(object):
|
|||||||
# by the time we get to person's names
|
# by the time we get to person's names
|
||||||
self.write_name_formats()
|
self.write_name_formats()
|
||||||
|
|
||||||
|
if note_len > 0:
|
||||||
|
self.g.write(" <notes>\n")
|
||||||
|
sorted_keys = self.db.get_gramps_ids(NOTE_KEY)
|
||||||
|
sorted_keys.sort()
|
||||||
|
for gramps_id in sorted_keys:
|
||||||
|
note = self.db.get_note_from_gramps_id(gramps_id)
|
||||||
|
self.write_note(note,2)
|
||||||
|
self.status.heartbeat()
|
||||||
|
self.g.write(" </notes>\n")
|
||||||
|
|
||||||
if event_len > 0:
|
if event_len > 0:
|
||||||
self.g.write(" <events>\n")
|
self.g.write(" <events>\n")
|
||||||
sorted_keys = self.db.get_gramps_ids(EVENT_KEY)
|
sorted_keys = self.db.get_gramps_ids(EVENT_KEY)
|
||||||
@@ -392,22 +402,27 @@ class GrampsDbXmlWriter(object):
|
|||||||
l = l.strip().translate(strip_dict)
|
l = l.strip().translate(strip_dict)
|
||||||
return escxml(l)
|
return escxml(l)
|
||||||
|
|
||||||
def write_note(self,val,noteobj,indent=0):
|
def write_note_list(self,note_list,indent=0):
|
||||||
if not noteobj:
|
for handle in note_list:
|
||||||
|
self.write_ref("noteref",handle,indent)
|
||||||
|
|
||||||
|
def write_note(self,note,index=1):
|
||||||
|
if not note:
|
||||||
return
|
return
|
||||||
text = noteobj.get(markup=True)
|
|
||||||
if not text:
|
self.write_primary_tag("note",note,2,close=False)
|
||||||
return
|
|
||||||
if indent != 0:
|
ntype = escxml(note.get_type().xml_str())
|
||||||
self.g.write(" " * indent)
|
format = note.get_format()
|
||||||
|
text = note.get(markup=True)
|
||||||
format = noteobj.get_format()
|
|
||||||
if format:
|
self.g.write(' type="%s"' % ntype)
|
||||||
self.g.write('<%s format="%d">' % (val,format))
|
if format != note.FLOWED:
|
||||||
else:
|
self.g.write(' format="%d"' % format)
|
||||||
self.g.write('<%s>' % val)
|
self.g.write('>')
|
||||||
|
|
||||||
self.g.write(self.fix(text.rstrip()))
|
self.g.write(self.fix(text.rstrip()))
|
||||||
self.g.write("</%s>\n" % val)
|
self.g.write("</note>\n")
|
||||||
|
|
||||||
def write_text(self,val,text,indent=0):
|
def write_text(self,val,text,indent=0):
|
||||||
if not text:
|
if not text:
|
||||||
@@ -455,7 +470,8 @@ class GrampsDbXmlWriter(object):
|
|||||||
for person_ref in person.get_person_ref_list():
|
for person_ref in person.get_person_ref_list():
|
||||||
self.dump_person_ref(person_ref,index+1)
|
self.dump_person_ref(person_ref,index+1)
|
||||||
|
|
||||||
self.write_note("note",person.get_note_object(),index+1)
|
self.write_note_list(person.get_note_list(),index+1)
|
||||||
|
|
||||||
for s in person.get_source_references():
|
for s in person.get_source_references():
|
||||||
self.dump_source_ref(s,index+2)
|
self.dump_source_ref(s,index+2)
|
||||||
self.g.write("%s</person>\n" % sp)
|
self.g.write("%s</person>\n" % sp)
|
||||||
@@ -479,7 +495,7 @@ class GrampsDbXmlWriter(object):
|
|||||||
for child_ref in family.get_child_ref_list():
|
for child_ref in family.get_child_ref_list():
|
||||||
self.dump_child_ref(child_ref,index+1)
|
self.dump_child_ref(child_ref,index+1)
|
||||||
self.write_attribute_list(family.get_attribute_list())
|
self.write_attribute_list(family.get_attribute_list())
|
||||||
self.write_note("note",family.get_note_object(),index+1)
|
self.write_note_list(family.get_note_list(),index+1)
|
||||||
for s in family.get_source_references():
|
for s in family.get_source_references():
|
||||||
self.dump_source_ref(s,index+1)
|
self.dump_source_ref(s,index+1)
|
||||||
self.g.write("%s</family>\n" % sp)
|
self.g.write("%s</family>\n" % sp)
|
||||||
@@ -491,8 +507,7 @@ class GrampsDbXmlWriter(object):
|
|||||||
self.write_line("sauthor",source.get_author(),index+1)
|
self.write_line("sauthor",source.get_author(),index+1)
|
||||||
self.write_line("spubinfo",source.get_publication_info(),index+1)
|
self.write_line("spubinfo",source.get_publication_info(),index+1)
|
||||||
self.write_line("sabbrev",source.get_abbreviation(),index+1)
|
self.write_line("sabbrev",source.get_abbreviation(),index+1)
|
||||||
if source.get_note() != "":
|
self.write_note_list(source.get_note_list(),index+1)
|
||||||
self.write_note("note",source.get_note_object(),index+1)
|
|
||||||
self.write_media_list(source.get_media_list(),index+1)
|
self.write_media_list(source.get_media_list(),index+1)
|
||||||
self.write_data_map(source.get_data_map())
|
self.write_data_map(source.get_data_map())
|
||||||
self.write_reporef_list(source.get_reporef_list(),index+1)
|
self.write_reporef_list(source.get_reporef_list(),index+1)
|
||||||
@@ -510,8 +525,7 @@ class GrampsDbXmlWriter(object):
|
|||||||
self.write_address_list(repo,index+1)
|
self.write_address_list(repo,index+1)
|
||||||
# url list
|
# url list
|
||||||
self.write_url_list(repo.get_url_list(),index+1)
|
self.write_url_list(repo.get_url_list(),index+1)
|
||||||
if repo.get_note() != "":
|
self.write_note_list(repo.get_note_list(),index+1)
|
||||||
self.write_note("note",repo.get_note_object(),index+1)
|
|
||||||
self.g.write("%s</repository>\n" % sp)
|
self.g.write("%s</repository>\n" % sp)
|
||||||
|
|
||||||
def write_address_list(self,obj,index=1):
|
def write_address_list(self,obj,index=1):
|
||||||
@@ -528,8 +542,7 @@ class GrampsDbXmlWriter(object):
|
|||||||
self.write_line("country",address.get_country(),index+2)
|
self.write_line("country",address.get_country(),index+2)
|
||||||
self.write_line("postal",address.get_postal_code(),index+2)
|
self.write_line("postal",address.get_postal_code(),index+2)
|
||||||
self.write_line("phone",address.get_phone(),index+2)
|
self.write_line("phone",address.get_phone(),index+2)
|
||||||
if address.get_note() != "":
|
self.write_note_list(address.get_note_list(),index+1)
|
||||||
self.write_note("note",address.get_note_object(),index+2)
|
|
||||||
for s in address.get_source_references():
|
for s in address.get_source_references():
|
||||||
self.dump_source_ref(s,index+2)
|
self.dump_source_ref(s,index+2)
|
||||||
self.g.write('%s</address>\n' % sp)
|
self.g.write('%s</address>\n' % sp)
|
||||||
@@ -542,7 +555,8 @@ class GrampsDbXmlWriter(object):
|
|||||||
rel_text = ' rel="%s"' % escxml(personref.get_relation())
|
rel_text = ' rel="%s"' % escxml(personref.get_relation())
|
||||||
|
|
||||||
sreflist = personref.get_source_references()
|
sreflist = personref.get_source_references()
|
||||||
if (len(sreflist) == 0) and personref.get_note() =="":
|
nreflist = personref.get_note_list()
|
||||||
|
if (len(sreflist) + len(nreflist) == 0):
|
||||||
self.write_ref('personref',personref.ref,index,close=True,
|
self.write_ref('personref',personref.ref,index,close=True,
|
||||||
extra_text=priv_text+rel_text)
|
extra_text=priv_text+rel_text)
|
||||||
else:
|
else:
|
||||||
@@ -550,7 +564,7 @@ class GrampsDbXmlWriter(object):
|
|||||||
extra_text=priv_text+rel_text)
|
extra_text=priv_text+rel_text)
|
||||||
for sref in sreflist:
|
for sref in sreflist:
|
||||||
self.dump_source_ref(sref,index+1)
|
self.dump_source_ref(sref,index+1)
|
||||||
self.write_note("note",personref.get_note_object(),index+1)
|
self.write_note_list(nreflist,index+1)
|
||||||
self.g.write('%s</personref>\n' % sp)
|
self.g.write('%s</personref>\n' % sp)
|
||||||
|
|
||||||
def dump_child_ref(self,childref,index=1):
|
def dump_child_ref(self,childref,index=1):
|
||||||
@@ -567,7 +581,8 @@ class GrampsDbXmlWriter(object):
|
|||||||
else:
|
else:
|
||||||
mrel_text = ' mrel="%s"' % escxml(childref.mrel.xml_str())
|
mrel_text = ' mrel="%s"' % escxml(childref.mrel.xml_str())
|
||||||
sreflist = childref.get_source_references()
|
sreflist = childref.get_source_references()
|
||||||
if (len(sreflist) == 0) and childref.get_note() =="":
|
nreflist = childref.get_note_list()
|
||||||
|
if (len(sreflist)+len(nreflist) == 0):
|
||||||
self.write_ref('childref',childref.ref,index,close=True,
|
self.write_ref('childref',childref.ref,index,close=True,
|
||||||
extra_text=priv_text+mrel_text+frel_text)
|
extra_text=priv_text+mrel_text+frel_text)
|
||||||
else:
|
else:
|
||||||
@@ -575,7 +590,7 @@ class GrampsDbXmlWriter(object):
|
|||||||
extra_text=priv_text+mrel_text+frel_text)
|
extra_text=priv_text+mrel_text+frel_text)
|
||||||
for sref in sreflist:
|
for sref in sreflist:
|
||||||
self.dump_source_ref(sref,index+1)
|
self.dump_source_ref(sref,index+1)
|
||||||
self.write_note("note",childref.get_note_object(),index+1)
|
self.write_note_list(nreflist,index+1)
|
||||||
self.g.write('%s</childref>\n' % sp)
|
self.g.write('%s</childref>\n' % sp)
|
||||||
|
|
||||||
def dump_event_ref(self,eventref,index=1):
|
def dump_event_ref(self,eventref,index=1):
|
||||||
@@ -590,14 +605,15 @@ class GrampsDbXmlWriter(object):
|
|||||||
role_text = ''
|
role_text = ''
|
||||||
|
|
||||||
attribute_list = eventref.get_attribute_list()
|
attribute_list = eventref.get_attribute_list()
|
||||||
if (attribute_list == []) and (eventref.get_note() == ""):
|
note_list = eventref.get_note_list()
|
||||||
|
if (len(attribute_list) + len(note_list) == 0):
|
||||||
self.write_ref('eventref',eventref.ref,index,
|
self.write_ref('eventref',eventref.ref,index,
|
||||||
close=True,extra_text=priv_text+role_text)
|
close=True,extra_text=priv_text+role_text)
|
||||||
else:
|
else:
|
||||||
self.write_ref('eventref',eventref.ref,index,
|
self.write_ref('eventref',eventref.ref,index,
|
||||||
close=False,extra_text=priv_text+role_text)
|
close=False,extra_text=priv_text+role_text)
|
||||||
self.write_attribute_list(attribute_list,index+1)
|
self.write_attribute_list(attribute_list,index+1)
|
||||||
self.write_note("note",eventref.get_note_object(),index+1)
|
self.write_note_list(note_list,index+1)
|
||||||
self.g.write('%s</eventref>\n' % sp)
|
self.g.write('%s</eventref>\n' % sp)
|
||||||
|
|
||||||
def write_event(self,event,index=1):
|
def write_event(self,event,index=1):
|
||||||
@@ -613,8 +629,7 @@ class GrampsDbXmlWriter(object):
|
|||||||
self.write_ref("place",event.get_place_handle(),index+1)
|
self.write_ref("place",event.get_place_handle(),index+1)
|
||||||
self.write_line("description",event.get_description(),index+1)
|
self.write_line("description",event.get_description(),index+1)
|
||||||
self.write_attribute_list(event.get_attribute_list(),index+1)
|
self.write_attribute_list(event.get_attribute_list(),index+1)
|
||||||
if event.get_note():
|
self.write_note_list(event.get_note_list(),index+1)
|
||||||
self.write_note("note",event.get_note_object(),index+1)
|
|
||||||
|
|
||||||
for s in event.get_source_references():
|
for s in event.get_source_references():
|
||||||
self.dump_source_ref(s,index+1)
|
self.dump_source_ref(s,index+1)
|
||||||
@@ -640,8 +655,7 @@ class GrampsDbXmlWriter(object):
|
|||||||
if ord.get_family_handle():
|
if ord.get_family_handle():
|
||||||
self.g.write('%s<sealed_to hlink="%s"/>\n' %
|
self.g.write('%s<sealed_to hlink="%s"/>\n' %
|
||||||
(sp2,"_"+ord.get_family_handle()))
|
(sp2,"_"+ord.get_family_handle()))
|
||||||
if ord.get_note() != "":
|
self.write_note_list(ord.get_note_list(),index+1)
|
||||||
self.write_note("note",ord.get_note_object(),index+1)
|
|
||||||
for s in ord.get_source_references():
|
for s in ord.get_source_references():
|
||||||
self.dump_source_ref(s,index+1)
|
self.dump_source_ref(s,index+1)
|
||||||
self.g.write('%s</lds_ord>\n' % sp)
|
self.g.write('%s</lds_ord>\n' % sp)
|
||||||
@@ -651,12 +665,12 @@ class GrampsDbXmlWriter(object):
|
|||||||
source_ref.get_reference_handle())
|
source_ref.get_reference_handle())
|
||||||
if source:
|
if source:
|
||||||
p = source_ref.get_page()
|
p = source_ref.get_page()
|
||||||
c = source_ref.get_note(markup=True)
|
n = source_ref.get_note_list()
|
||||||
t = source_ref.get_text()
|
t = source_ref.get_text()
|
||||||
d = source_ref.get_date_object()
|
d = source_ref.get_date_object()
|
||||||
q = source_ref.get_confidence_level()
|
q = source_ref.get_confidence_level()
|
||||||
self.g.write(" " * index)
|
self.g.write(" " * index)
|
||||||
if p == "" and c == "" and t == "" and d.is_empty() and q == 2:
|
if p == "" and n == [] and t == "" and d.is_empty() and q == 2:
|
||||||
self.g.write('<sourceref hlink="%s"/>\n' % ("_"+source.get_handle()))
|
self.g.write('<sourceref hlink="%s"/>\n' % ("_"+source.get_handle()))
|
||||||
else:
|
else:
|
||||||
if q == 2:
|
if q == 2:
|
||||||
@@ -664,7 +678,12 @@ class GrampsDbXmlWriter(object):
|
|||||||
else:
|
else:
|
||||||
self.g.write('<sourceref hlink="%s" conf="%d">\n' % ("_"+source.get_handle(),q))
|
self.g.write('<sourceref hlink="%s" conf="%d">\n' % ("_"+source.get_handle(),q))
|
||||||
self.write_line("spage",p,index+1)
|
self.write_line("spage",p,index+1)
|
||||||
self.write_text("scomments",c,index+1)
|
# FIXME: Do we really need scomments? One or many?
|
||||||
|
# Gedcom standard seems to allow normal notes in sourcerefs:
|
||||||
|
# http://homepages.rootsweb.com/~pmcbride/gedcom/55gcch2.htm#SOURCE_CITATION
|
||||||
|
self.write_note_list(n,index+1)
|
||||||
|
# for handle in n:
|
||||||
|
# self.write_ref("scomments",handle,index+1)
|
||||||
self.write_text("stext",t,index+1)
|
self.write_text("stext",t,index+1)
|
||||||
self.write_date(d,index+1)
|
self.write_date(d,index+1)
|
||||||
self.g.write("%s</sourceref>\n" % (" " * index))
|
self.g.write("%s</sourceref>\n" % (" " * index))
|
||||||
@@ -679,7 +698,7 @@ class GrampsDbXmlWriter(object):
|
|||||||
self.g.write('%s<%s hlink="_%s"%s%s>\n'
|
self.g.write('%s<%s hlink="_%s"%s%s>\n'
|
||||||
% (sp,tagname,handle,extra_text,close_tag))
|
% (sp,tagname,handle,extra_text,close_tag))
|
||||||
|
|
||||||
def write_primary_tag(self,tagname,obj,index=1):
|
def write_primary_tag(self,tagname,obj,index=1,close=True):
|
||||||
if not obj:
|
if not obj:
|
||||||
return
|
return
|
||||||
sp = " "*index
|
sp = " "*index
|
||||||
@@ -694,7 +713,9 @@ class GrampsDbXmlWriter(object):
|
|||||||
obj_text = '%s<%s' % (sp,tagname)
|
obj_text = '%s<%s' % (sp,tagname)
|
||||||
|
|
||||||
self.g.write(obj_text + handle_id_text + priv_text + marker_text +
|
self.g.write(obj_text + handle_id_text + priv_text + marker_text +
|
||||||
change_text + '>\n')
|
change_text)
|
||||||
|
if close:
|
||||||
|
self.g.write('>\n')
|
||||||
|
|
||||||
def write_family_handle(self,family,index=1):
|
def write_family_handle(self,family,index=1):
|
||||||
sp = " "*index
|
sp = " "*index
|
||||||
@@ -816,8 +837,7 @@ class GrampsDbXmlWriter(object):
|
|||||||
self.write_line("title",name.get_title(),index+1)
|
self.write_line("title",name.get_title(),index+1)
|
||||||
if name.date:
|
if name.date:
|
||||||
self.write_date(name.date,4)
|
self.write_date(name.date,4)
|
||||||
if name.get_note() != "":
|
self.write_note_list(name.get_note_list(),index+1)
|
||||||
self.write_note("note",name.get_note_object(),index+1)
|
|
||||||
for s in name.get_source_references():
|
for s in name.get_source_references():
|
||||||
self.dump_source_ref(s,index+1)
|
self.dump_source_ref(s,index+1)
|
||||||
|
|
||||||
@@ -893,14 +913,14 @@ class GrampsDbXmlWriter(object):
|
|||||||
(sp,conf_priv(attr),escxml(attr.get_type().xml_str()),
|
(sp,conf_priv(attr),escxml(attr.get_type().xml_str()),
|
||||||
self.fix(attr.get_value())))
|
self.fix(attr.get_value())))
|
||||||
slist = attr.get_source_references()
|
slist = attr.get_source_references()
|
||||||
note = attr.get_note()
|
nlist = attr.get_note_list()
|
||||||
if note == "" and len(slist) == 0:
|
if (len(nlist)+len(slist)) == 0:
|
||||||
self.g.write('/>\n')
|
self.g.write('/>\n')
|
||||||
else:
|
else:
|
||||||
self.g.write('>\n')
|
self.g.write('>\n')
|
||||||
for s in attr.get_source_references():
|
for s in attr.get_source_references():
|
||||||
self.dump_source_ref(s,indent+1)
|
self.dump_source_ref(s,indent+1)
|
||||||
self.write_note("note",attr.get_note_object(),4)
|
self.write_note_list(attr.get_note_list(),indent+1)
|
||||||
self.g.write('%s</attribute>\n' % sp)
|
self.g.write('%s</attribute>\n' % sp)
|
||||||
|
|
||||||
def write_media_list(self,list,indent=3):
|
def write_media_list(self,list,indent=3):
|
||||||
@@ -912,15 +932,15 @@ class GrampsDbXmlWriter(object):
|
|||||||
self.g.write(' priv="1"')
|
self.g.write(' priv="1"')
|
||||||
proplist = photo.get_attribute_list()
|
proplist = photo.get_attribute_list()
|
||||||
refslist = photo.get_source_references()
|
refslist = photo.get_source_references()
|
||||||
if len(proplist) == 0 and len(refslist) == 0 \
|
nreflist = photo.get_note_list()
|
||||||
and photo.get_note() == "":
|
if (len(proplist) + len(nreflist) + len(refslist)) == 0:
|
||||||
self.g.write("/>\n")
|
self.g.write("/>\n")
|
||||||
else:
|
else:
|
||||||
self.g.write(">\n")
|
self.g.write(">\n")
|
||||||
self.write_attribute_list(proplist,indent+1)
|
self.write_attribute_list(proplist,indent+1)
|
||||||
for ref in refslist:
|
for ref in refslist:
|
||||||
self.dump_source_ref(ref,indent+1)
|
self.dump_source_ref(ref,indent+1)
|
||||||
self.write_note("note",photo.get_note_object(),indent+1)
|
self.write_note_list(nreflist,index+1)
|
||||||
self.g.write('%s</objref>\n' % sp)
|
self.g.write('%s</objref>\n' % sp)
|
||||||
|
|
||||||
def write_data_map(self,datamap,indent=3):
|
def write_data_map(self,datamap,indent=3):
|
||||||
@@ -948,13 +968,14 @@ class GrampsDbXmlWriter(object):
|
|||||||
else:
|
else:
|
||||||
type_text = ''
|
type_text = ''
|
||||||
|
|
||||||
if reporef.get_note() == "":
|
note_list = reporef.get_note_list()
|
||||||
|
if len(note_list) == 0:
|
||||||
self.write_ref('reporef',reporef.ref,index,
|
self.write_ref('reporef',reporef.ref,index,
|
||||||
close=True,extra_text=callno_text+type_text)
|
close=True,extra_text=callno_text+type_text)
|
||||||
else:
|
else:
|
||||||
self.write_ref('reporef',reporef.ref,index,
|
self.write_ref('reporef',reporef.ref,index,
|
||||||
close=False,extra_text=callno_text+type_text)
|
close=False,extra_text=callno_text+type_text)
|
||||||
self.write_note("note",reporef.get_note_object(),index+1)
|
self.write_note_list(note_list,index+1)
|
||||||
sp = " "*index
|
sp = " "*index
|
||||||
self.g.write('%s</reporef>\n' % sp)
|
self.g.write('%s</reporef>\n' % sp)
|
||||||
|
|
||||||
@@ -990,7 +1011,6 @@ class GrampsDbXmlWriter(object):
|
|||||||
len(place.get_source_references())
|
len(place.get_source_references())
|
||||||
|
|
||||||
ml_empty = main_loc.is_empty()
|
ml_empty = main_loc.is_empty()
|
||||||
note = place.get_note()
|
|
||||||
|
|
||||||
if title == "":
|
if title == "":
|
||||||
title = self.fix(self.build_place_title(place.get_main_location()))
|
title = self.fix(self.build_place_title(place.get_main_location()))
|
||||||
@@ -1004,8 +1024,7 @@ class GrampsDbXmlWriter(object):
|
|||||||
self.dump_location(loc)
|
self.dump_location(loc)
|
||||||
self.write_media_list(place.get_media_list(),index+1)
|
self.write_media_list(place.get_media_list(),index+1)
|
||||||
self.write_url_list(place.get_url_list())
|
self.write_url_list(place.get_url_list())
|
||||||
if note != "":
|
self.write_note_list(place.get_note_list(),index+1)
|
||||||
self.write_note("note",place.get_note_object(),index+1)
|
|
||||||
for s in place.get_source_references():
|
for s in place.get_source_references():
|
||||||
self.dump_source_ref(s,index+1)
|
self.dump_source_ref(s,index+1)
|
||||||
self.g.write("%s</placeobj>\n" % (" "*index))
|
self.g.write("%s</placeobj>\n" % (" "*index))
|
||||||
@@ -1029,8 +1048,7 @@ class GrampsDbXmlWriter(object):
|
|||||||
self.g.write('%s<file src="%s" mime="%s"%s/>\n'
|
self.g.write('%s<file src="%s" mime="%s"%s/>\n'
|
||||||
% (" "*(index+1),self.fix(path),mime_type,desc_text))
|
% (" "*(index+1),self.fix(path),mime_type,desc_text))
|
||||||
self.write_attribute_list(obj.get_attribute_list())
|
self.write_attribute_list(obj.get_attribute_list())
|
||||||
if obj.get_note() != "":
|
self.write_note_list(obj.get_note_list(),index+1)
|
||||||
self.write_note("note",obj.get_note_object(),index+1)
|
|
||||||
dval = obj.get_date_object()
|
dval = obj.get_date_object()
|
||||||
if not dval.is_empty():
|
if not dval.is_empty():
|
||||||
self.write_date(dval,index+1)
|
self.write_date(dval,index+1)
|
||||||
|
@@ -165,6 +165,19 @@ class Note(BasicPrimaryObject):
|
|||||||
"""
|
"""
|
||||||
return self.format
|
return self.format
|
||||||
|
|
||||||
|
def set_type(self, the_type):
|
||||||
|
"""
|
||||||
|
@param the_type: descriptive type of the Note
|
||||||
|
@type the_type: str
|
||||||
|
"""
|
||||||
|
self.type.set(the_type)
|
||||||
|
|
||||||
|
def get_type(self):
|
||||||
|
"""
|
||||||
|
@returns: the descriptive type of the Note
|
||||||
|
@rtype: str
|
||||||
|
"""
|
||||||
|
return self.type
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
import hotshot
|
import hotshot
|
||||||
|
Reference in New Issue
Block a user