2007-10-08 Don Allingham <don@gramps-project.org>

* various: gen.lib integration. probably touches almost every file

	* various: gen.utils integration


svn: r9101
This commit is contained in:
Don Allingham
2007-10-08 16:41:39 +00:00
parent 8038bc0dca
commit d58641415d
245 changed files with 2315 additions and 2355 deletions

View File

@@ -32,7 +32,7 @@ import os
#
#-------------------------------------------------------------------------
import const
import RelLib
import gen.lib
ADOPT_NONE = 0
ADOPT_EVENT = 1
@@ -65,67 +65,67 @@ SOURCE_REFS_YES = 1
#
#-------------------------------------------------------------------------
familyConstantEvents = {
RelLib.EventType.ANNULMENT : "ANUL",
RelLib.EventType.DIV_FILING : "DIVF",
RelLib.EventType.DIVORCE : "DIV",
RelLib.EventType.CENSUS : "CENS",
RelLib.EventType.ENGAGEMENT : "ENGA",
RelLib.EventType.MARR_BANNS : "MARB",
RelLib.EventType.MARR_CONTR : "MARC",
RelLib.EventType.MARR_LIC : "MARL",
RelLib.EventType.MARR_SETTL : "MARS",
RelLib.EventType.MARRIAGE : "MARR"
gen.lib.EventType.ANNULMENT : "ANUL",
gen.lib.EventType.DIV_FILING : "DIVF",
gen.lib.EventType.DIVORCE : "DIV",
gen.lib.EventType.CENSUS : "CENS",
gen.lib.EventType.ENGAGEMENT : "ENGA",
gen.lib.EventType.MARR_BANNS : "MARB",
gen.lib.EventType.MARR_CONTR : "MARC",
gen.lib.EventType.MARR_LIC : "MARL",
gen.lib.EventType.MARR_SETTL : "MARS",
gen.lib.EventType.MARRIAGE : "MARR"
}
personalConstantEvents = {
RelLib.EventType.ADOPT : "ADOP",
RelLib.EventType.ADULT_CHRISTEN : "CHRA",
RelLib.EventType.BIRTH : "BIRT",
RelLib.EventType.DEATH : "DEAT",
RelLib.EventType.BAPTISM : "BAPM",
RelLib.EventType.BAR_MITZVAH : "BARM",
RelLib.EventType.BAS_MITZVAH : "BASM",
RelLib.EventType.BLESS : "BLES",
RelLib.EventType.BURIAL : "BURI",
RelLib.EventType.CAUSE_DEATH : "CAUS",
RelLib.EventType.ORDINATION : "ORDN",
RelLib.EventType.CENSUS : "CENS",
RelLib.EventType.CHRISTEN : "CHR" ,
RelLib.EventType.CONFIRMATION : "CONF",
RelLib.EventType.CREMATION : "CREM",
RelLib.EventType.DEGREE : "_DEG",
RelLib.EventType.DIV_FILING : "DIVF",
RelLib.EventType.EDUCATION : "EDUC",
RelLib.EventType.ELECTED : "",
RelLib.EventType.EMIGRATION : "EMIG",
RelLib.EventType.FIRST_COMMUN : "FCOM",
RelLib.EventType.GRADUATION : "GRAD",
RelLib.EventType.MED_INFO : "_MDCL",
RelLib.EventType.MILITARY_SERV : "_MILT",
RelLib.EventType.NATURALIZATION : "NATU",
RelLib.EventType.NOB_TITLE : "TITL",
RelLib.EventType.NUM_MARRIAGES : "NMR",
RelLib.EventType.IMMIGRATION : "IMMI",
RelLib.EventType.OCCUPATION : "OCCU",
RelLib.EventType.PROBATE : "PROB",
RelLib.EventType.PROPERTY : "PROP",
RelLib.EventType.RELIGION : "RELI",
RelLib.EventType.RESIDENCE : "RESI",
RelLib.EventType.RETIREMENT : "RETI",
RelLib.EventType.WILL : "WILL",
gen.lib.EventType.ADOPT : "ADOP",
gen.lib.EventType.ADULT_CHRISTEN : "CHRA",
gen.lib.EventType.BIRTH : "BIRT",
gen.lib.EventType.DEATH : "DEAT",
gen.lib.EventType.BAPTISM : "BAPM",
gen.lib.EventType.BAR_MITZVAH : "BARM",
gen.lib.EventType.BAS_MITZVAH : "BASM",
gen.lib.EventType.BLESS : "BLES",
gen.lib.EventType.BURIAL : "BURI",
gen.lib.EventType.CAUSE_DEATH : "CAUS",
gen.lib.EventType.ORDINATION : "ORDN",
gen.lib.EventType.CENSUS : "CENS",
gen.lib.EventType.CHRISTEN : "CHR" ,
gen.lib.EventType.CONFIRMATION : "CONF",
gen.lib.EventType.CREMATION : "CREM",
gen.lib.EventType.DEGREE : "_DEG",
gen.lib.EventType.DIV_FILING : "DIVF",
gen.lib.EventType.EDUCATION : "EDUC",
gen.lib.EventType.ELECTED : "",
gen.lib.EventType.EMIGRATION : "EMIG",
gen.lib.EventType.FIRST_COMMUN : "FCOM",
gen.lib.EventType.GRADUATION : "GRAD",
gen.lib.EventType.MED_INFO : "_MDCL",
gen.lib.EventType.MILITARY_SERV : "_MILT",
gen.lib.EventType.NATURALIZATION : "NATU",
gen.lib.EventType.NOB_TITLE : "TITL",
gen.lib.EventType.NUM_MARRIAGES : "NMR",
gen.lib.EventType.IMMIGRATION : "IMMI",
gen.lib.EventType.OCCUPATION : "OCCU",
gen.lib.EventType.PROBATE : "PROB",
gen.lib.EventType.PROPERTY : "PROP",
gen.lib.EventType.RELIGION : "RELI",
gen.lib.EventType.RESIDENCE : "RESI",
gen.lib.EventType.RETIREMENT : "RETI",
gen.lib.EventType.WILL : "WILL",
}
familyConstantAttributes = {
RelLib.AttributeType.NUM_CHILD : "NCHI",
gen.lib.AttributeType.NUM_CHILD : "NCHI",
}
personalConstantAttributes = {
RelLib.AttributeType.CASTE : "CAST",
RelLib.AttributeType.DESCRIPTION : "DSCR",
RelLib.AttributeType.ID : "IDNO",
RelLib.AttributeType.NATIONAL : "NATI",
RelLib.AttributeType.NUM_CHILD : "NCHI",
RelLib.AttributeType.SSN : "SSN",
gen.lib.AttributeType.CASTE : "CAST",
gen.lib.AttributeType.DESCRIPTION : "DSCR",
gen.lib.AttributeType.ID : "IDNO",
gen.lib.AttributeType.NATIONAL : "NATI",
gen.lib.AttributeType.NUM_CHILD : "NCHI",
gen.lib.AttributeType.SSN : "SSN",
}
#-------------------------------------------------------------------------
@@ -134,19 +134,19 @@ personalConstantAttributes = {
#
#-------------------------------------------------------------------------
lds_status = {
"BIC" : RelLib.LdsOrd.STATUS_BIC,
"CANCELED" : RelLib.LdsOrd.STATUS_CANCELED,
"CHILD" : RelLib.LdsOrd.STATUS_CHILD,
"CLEARED" : RelLib.LdsOrd.STATUS_CLEARED,
"COMPLETED": RelLib.LdsOrd.STATUS_COMPLETED,
"DNS" : RelLib.LdsOrd.STATUS_DNS,
"INFANT" : RelLib.LdsOrd.STATUS_INFANT,
"PRE-1970" : RelLib.LdsOrd.STATUS_PRE_1970,
"QUALIFIED": RelLib.LdsOrd.STATUS_QUALIFIED,
"DNS/CAN" : RelLib.LdsOrd.STATUS_DNS_CAN,
"STILLBORN": RelLib.LdsOrd.STATUS_STILLBORN,
"SUBMITTED": RelLib.LdsOrd.STATUS_SUBMITTED,
"UNCLEARED": RelLib.LdsOrd.STATUS_UNCLEARED,
"BIC" : gen.lib.LdsOrd.STATUS_BIC,
"CANCELED" : gen.lib.LdsOrd.STATUS_CANCELED,
"CHILD" : gen.lib.LdsOrd.STATUS_CHILD,
"CLEARED" : gen.lib.LdsOrd.STATUS_CLEARED,
"COMPLETED": gen.lib.LdsOrd.STATUS_COMPLETED,
"DNS" : gen.lib.LdsOrd.STATUS_DNS,
"INFANT" : gen.lib.LdsOrd.STATUS_INFANT,
"PRE-1970" : gen.lib.LdsOrd.STATUS_PRE_1970,
"QUALIFIED": gen.lib.LdsOrd.STATUS_QUALIFIED,
"DNS/CAN" : gen.lib.LdsOrd.STATUS_DNS_CAN,
"STILLBORN": gen.lib.LdsOrd.STATUS_STILLBORN,
"SUBMITTED": gen.lib.LdsOrd.STATUS_SUBMITTED,
"UNCLEARED": gen.lib.LdsOrd.STATUS_UNCLEARED,
}
#-------------------------------------------------------------------------

View File

@@ -39,7 +39,7 @@ import re
from _GedcomInfo import *
import _GedcomTokens as GedcomTokens
import RelLib
import gen.lib
from DateHandler._DateParser import DateParser
#------------------------------------------------------------------------
@@ -84,20 +84,20 @@ RANGE = re.compile(r"\s*BET\s+@#D?([^@]+)@\s*(.*)\s+AND\s+@#D?([^@]+)@\s*(.*)$")
SPAN = re.compile(r"\s*FROM\s+@#D?([^@]+)@\s*(.*)\s+TO\s+@#D?([^@]+)@\s*(.*)$")
CALENDAR_MAP = {
"FRENCH R" : RelLib.Date.CAL_FRENCH,
"JULIAN" : RelLib.Date.CAL_JULIAN,
"HEBREW" : RelLib.Date.CAL_HEBREW,
"FRENCH R" : gen.lib.Date.CAL_FRENCH,
"JULIAN" : gen.lib.Date.CAL_JULIAN,
"HEBREW" : gen.lib.Date.CAL_HEBREW,
}
QUALITY_MAP = {
'CAL' : RelLib.Date.QUAL_CALCULATED,
'INT' : RelLib.Date.QUAL_CALCULATED,
'EST' : RelLib.Date.QUAL_ESTIMATED,
'CAL' : gen.lib.Date.QUAL_CALCULATED,
'INT' : gen.lib.Date.QUAL_CALCULATED,
'EST' : gen.lib.Date.QUAL_ESTIMATED,
}
SEX_MAP = {
'F' : RelLib.Person.FEMALE,
'M' : RelLib.Person.MALE,
'F' : gen.lib.Person.FEMALE,
'M' : gen.lib.Person.MALE,
}
#-----------------------------------------------------------------------
@@ -133,8 +133,8 @@ class GedLine:
this is just a text string. However, for certain tokens where we know
the context, we can provide some value. The current parsed tokens are:
TOKEN_DATE - RelLib.Date
TOKEN_SEX - RelLib.Person gender item
TOKEN_DATE - gen.lib.Date
TOKEN_SEX - gen.lib.Person gender item
TOEKN_UKNOWN - Check to see if this is a known event
"""
@@ -167,16 +167,16 @@ class GedLine:
def calc_sex(self):
"""
Converts the data field to a RelLib token indicating the gender
Converts the data field to a gen.lib token indicating the gender
"""
try:
self.data = SEX_MAP.get(self.data.strip()[0], RelLib.Person.UNKNOWN)
self.data = SEX_MAP.get(self.data.strip()[0], gen.lib.Person.UNKNOWN)
except:
self.data = RelLib.Person.UNKNOWN
self.data = gen.lib.Person.UNKNOWN
def calc_date(self):
"""
Converts the data field to a RelLib.Date object
Converts the data field to a gen.lib.Date object
"""
self.data = extract_date(self.data)
@@ -188,7 +188,7 @@ class GedLine:
"""
token = GED2GRAMPS.get(self.token_text)
if token:
event = RelLib.Event()
event = gen.lib.Event()
event.set_description(self.data)
event.set_type(token)
self.token = GedcomTokens.TOKEN_GEVENT
@@ -196,7 +196,7 @@ class GedLine:
else:
token = GED2ATTR.get(self.token_text)
if token:
attr = RelLib.Attribute()
attr = gen.lib.Attribute()
attr.set_value(self.data)
attr.set_type(token)
self.token = GedcomTokens.TOKEN_ATTR
@@ -209,16 +209,16 @@ class GedLine:
self.data = gid[1:-1]
def calc_nchi(self):
attr = RelLib.Attribute()
attr = gen.lib.Attribute()
attr.set_value(self.data)
attr.set_type(RelLib.AttributeType.NUM_CHILD)
attr.set_type(gen.lib.AttributeType.NUM_CHILD)
self.data = attr
self.token = GedcomTokens.TOKEN_ATTR
def calc_attr(self):
attr = RelLib.Attribute()
attr = gen.lib.Attribute()
attr.set_value(self.data)
attr.set_type((RelLib.AttributeType.CUSTOM, self.token_text))
attr.set_type((gen.lib.AttributeType.CUSTOM, self.token_text))
self.data = attr
self.token = GedcomTokens.TOKEN_ATTR
@@ -253,9 +253,9 @@ DATE_CNV = GedcomDateParser()
def extract_date(text):
"""
Converts the specified text to a RelLib.Date object.
Converts the specified text to a gen.lib.Date object.
"""
dateobj = RelLib.Date()
dateobj = gen.lib.Date()
text = text.replace('BET ABT','EST BET') # Horrible hack for Tim Lyons
@@ -264,20 +264,20 @@ def extract_date(text):
match = MOD.match(text)
if match:
(mod, text) = match.groups()
qual = QUALITY_MAP.get(mod, RelLib.Date.QUAL_NONE)
qual = QUALITY_MAP.get(mod, gen.lib.Date.QUAL_NONE)
else:
qual = RelLib.Date.QUAL_NONE
qual = gen.lib.Date.QUAL_NONE
# parse the range if we match, if so, return
match = RANGE.match(text)
if match:
(cal1, data1, ignore, cal2, data2) = match.groups()
cal = CALENDAR_MAP.get(cal1, RelLib.Date.CAL_GREGORIAN)
cal = CALENDAR_MAP.get(cal1, gen.lib.Date.CAL_GREGORIAN)
start = DATE_CNV.parse(data1)
stop = DATE_CNV.parse(data2)
dateobj.set(RelLib.Date.QUAL_NONE, RelLib.Date.MOD_RANGE, cal,
dateobj.set(gen.lib.Date.QUAL_NONE, gen.lib.Date.MOD_RANGE, cal,
start.get_start_date() + stop.get_start_date())
dateobj.set_quality(qual)
return dateobj
@@ -287,11 +287,11 @@ def extract_date(text):
if match:
(cal1, data1, cal2, data2) = match.groups()
cal = CALENDAR_MAP.get(cal1, RelLib.Date.CAL_GREGORIAN)
cal = CALENDAR_MAP.get(cal1, gen.lib.Date.CAL_GREGORIAN)
start = DATE_CNV.parse(data1)
stop = DATE_CNV.parse(data2)
dateobj.set(RelLib.Date.QUAL_NONE, RelLib.Date.MOD_SPAN, cal,
dateobj.set(gen.lib.Date.QUAL_NONE, gen.lib.Date.MOD_SPAN, cal,
start.get_start_date() + stop.get_start_date())
dateobj.set_quality(qual)
return dateobj
@@ -304,7 +304,7 @@ def extract_date(text):
else:
dateobj = DATE_CNV.parse(data)
dateobj.set_calendar(CALENDAR_MAP.get(cal,
RelLib.Date.CAL_GREGORIAN))
gen.lib.Date.CAL_GREGORIAN))
dateobj.set_quality(qual)
return dateobj

View File

@@ -109,7 +109,7 @@ LOG = logging.getLogger(".GedcomImport")
#
#-------------------------------------------------------------------------
import Errors
import RelLib
import gen.lib
from BasicUtils import name_displayer, UpdateCallback
import Mime
import LdsUtils
@@ -141,19 +141,19 @@ TRUNC_MSG = _("Your GEDCOM file is corrupted. "
# constants
#
#-------------------------------------------------------------------------
TYPE_BIRTH = RelLib.ChildRefType()
TYPE_ADOPT = RelLib.ChildRefType(RelLib.ChildRefType.ADOPTED)
TYPE_FOSTER = RelLib.ChildRefType(RelLib.ChildRefType.FOSTER)
TYPE_BIRTH = gen.lib.ChildRefType()
TYPE_ADOPT = gen.lib.ChildRefType(gen.lib.ChildRefType.ADOPTED)
TYPE_FOSTER = gen.lib.ChildRefType(gen.lib.ChildRefType.FOSTER)
RELATION_TYPES = (
RelLib.ChildRefType.BIRTH,
RelLib.ChildRefType.UNKNOWN,
RelLib.ChildRefType.NONE,
gen.lib.ChildRefType.BIRTH,
gen.lib.ChildRefType.UNKNOWN,
gen.lib.ChildRefType.NONE,
)
PEDIGREE_TYPES = {
'birth' : RelLib.ChildRefType(),
'natural': RelLib.ChildRefType(),
'birth' : gen.lib.ChildRefType(),
'natural': gen.lib.ChildRefType(),
'step' : TYPE_ADOPT,
'adopted': TYPE_ADOPT,
'foster' : TYPE_FOSTER,
@@ -174,28 +174,28 @@ EVENT_FAMILY_STR = _("%(event_name)s of %(family)s")
EVENT_PERSON_STR = _("%(event_name)s of %(person)s")
FTW_BAD_PLACE = [
RelLib.EventType.OCCUPATION,
RelLib.EventType.RELIGION,
RelLib.EventType.DEGREE
gen.lib.EventType.OCCUPATION,
gen.lib.EventType.RELIGION,
gen.lib.EventType.DEGREE
]
MEDIA_MAP = {
'audio' : RelLib.SourceMediaType.AUDIO,
'book' : RelLib.SourceMediaType.BOOK,
'card' : RelLib.SourceMediaType.CARD,
'electronic' : RelLib.SourceMediaType.ELECTRONIC,
'fiche' : RelLib.SourceMediaType.FICHE,
'microfiche' : RelLib.SourceMediaType.FICHE,
'microfilm' : RelLib.SourceMediaType.FICHE,
'film' : RelLib.SourceMediaType.FILM,
'magazine' : RelLib.SourceMediaType.MAGAZINE,
'manuscript' : RelLib.SourceMediaType.MANUSCRIPT,
'map' : RelLib.SourceMediaType.MAP,
'newspaper' : RelLib.SourceMediaType.NEWSPAPER,
'photo' : RelLib.SourceMediaType.PHOTO,
'tombstone' : RelLib.SourceMediaType.TOMBSTONE,
'grave' : RelLib.SourceMediaType.TOMBSTONE,
'video' : RelLib.SourceMediaType.VIDEO,
'audio' : gen.lib.SourceMediaType.AUDIO,
'book' : gen.lib.SourceMediaType.BOOK,
'card' : gen.lib.SourceMediaType.CARD,
'electronic' : gen.lib.SourceMediaType.ELECTRONIC,
'fiche' : gen.lib.SourceMediaType.FICHE,
'microfiche' : gen.lib.SourceMediaType.FICHE,
'microfilm' : gen.lib.SourceMediaType.FICHE,
'film' : gen.lib.SourceMediaType.FILM,
'magazine' : gen.lib.SourceMediaType.MAGAZINE,
'manuscript' : gen.lib.SourceMediaType.MANUSCRIPT,
'map' : gen.lib.SourceMediaType.MAP,
'newspaper' : gen.lib.SourceMediaType.NEWSPAPER,
'photo' : gen.lib.SourceMediaType.PHOTO,
'tombstone' : gen.lib.SourceMediaType.TOMBSTONE,
'grave' : gen.lib.SourceMediaType.TOMBSTONE,
'video' : gen.lib.SourceMediaType.VIDEO,
}
#-------------------------------------------------------------------------
@@ -276,7 +276,7 @@ class GedcomParser(UpdateCallback):
self.gedsource = self.gedmap.get_from_source_tag('GEDCOM 5.5')
self.use_def_src = default_source
if self.use_def_src:
self.def_src = RelLib.Source()
self.def_src = gen.lib.Source()
fname = os.path.basename(filename).split('\\')[-1]
self.def_src.set_title(_("Import from GEDCOM (%s)") %
encode_filename(fname))
@@ -830,7 +830,7 @@ class GedcomParser(UpdateCallback):
for title in self.inline_srcs.keys():
handle = self.inline_srcs[title]
src = RelLib.Source()
src = gen.lib.Source()
src.set_handle(handle)
src.set_title(title)
self.dbase.add_source(src, self.trans)
@@ -869,7 +869,7 @@ class GedcomParser(UpdateCallback):
already used (is in the db), we return the item in the db. Otherwise,
we create a new person, assign the handle and GRAMPS ID.
"""
person = RelLib.Person()
person = gen.lib.Person()
intid = self.gid2id.get(gramps_id)
if self.dbase.has_person_handle(intid):
person.unserialize(self.dbase.get_raw_person_data(intid))
@@ -885,7 +885,7 @@ class GedcomParser(UpdateCallback):
already used (is in the db), we return the item in the db. Otherwise,
we create a new family, assign the handle and GRAMPS ID.
"""
family = RelLib.Family()
family = gen.lib.Family()
intid = self.fid2id.get(gramps_id)
if self.dbase.has_family_handle(intid):
family.unserialize(self.dbase.get_raw_family_data(intid))
@@ -901,7 +901,7 @@ class GedcomParser(UpdateCallback):
already used (is in the db), we return the item in the db. Otherwise,
we create a new media object, assign the handle and GRAMPS ID.
"""
obj = RelLib.MediaObject()
obj = gen.lib.MediaObject()
intid = self.oid2id.get(gramps_id)
if self.dbase.has_object_handle(intid):
obj.unserialize(self.dbase.get_raw_object_data(intid))
@@ -917,7 +917,7 @@ class GedcomParser(UpdateCallback):
already used (is in the db), we return the item in the db. Otherwise,
we create a new source, assign the handle and GRAMPS ID.
"""
obj = RelLib.Source()
obj = gen.lib.Source()
intid = self.sid2id.get(gramps_id)
if self.dbase.has_source_handle(intid):
obj.unserialize(self.dbase.get_raw_source_data(intid))
@@ -936,7 +936,7 @@ class GedcomParser(UpdateCallback):
Some GEDCOM "flavors" destroy the specification, and declare the
repository inline instead of in a object.
"""
repository = RelLib.Repository()
repository = gen.lib.Repository()
if not gramps_id:
need_commit = True
gramps_id = self.dbase.find_next_repository_gramps_id()
@@ -963,7 +963,7 @@ class GedcomParser(UpdateCallback):
Some GEDCOM "flavors" destroy the specification, and declare the
repository inline instead of in a object.
"""
note = RelLib.Note()
note = gen.lib.Note()
if not gramps_id:
need_commit = True
gramps_id = self.dbase.find_next_note_gramps_id()
@@ -987,7 +987,7 @@ class GedcomParser(UpdateCallback):
already used (is in the db), we return the item in the db. Otherwise,
we create a new place, assign the handle and GRAMPS ID.
"""
place = RelLib.Place()
place = gen.lib.Place()
# check to see if we've encountered this name before
# if we haven't we need to get a new GRAMPS ID
@@ -1282,8 +1282,8 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
attr = RelLib.Attribute()
attr.set_type((RelLib.AttributeType.CUSTOM, line.token_text))
attr = gen.lib.Attribute()
attr.set_type((gen.lib.AttributeType.CUSTOM, line.token_text))
attr.set_value(line.data)
state.person.add_attribute(attr)
self.__skip_subordinate_levels(state.level+1)
@@ -1295,7 +1295,7 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
event_ref = self.__build_event_pair(state, RelLib.EventType.CUSTOM,
event_ref = self.__build_event_pair(state, gen.lib.EventType.CUSTOM,
self.event_parse_tbl, line.data)
state.person.add_event_ref(event_ref)
@@ -1326,8 +1326,8 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
attr = RelLib.Attribute()
attr.set_type((RelLib.AttributeType.CUSTOM, 'RESN'))
attr = gen.lib.Attribute()
attr.set_type((gen.lib.AttributeType.CUSTOM, 'RESN'))
state.person.add_attribute(attr)
def __person_alt_name(self, line, state):
@@ -1344,7 +1344,7 @@ class GedcomParser(UpdateCallback):
@type state: CurrentState
"""
name = GedcomUtils.parse_name_personal(line.data)
name.set_type(RelLib.NameType.AKA)
name.set_type(gen.lib.NameType.AKA)
state.person.add_alternate_name(name)
# Create a new state, and parse the remainder of the NAME level
@@ -1377,7 +1377,7 @@ class GedcomParser(UpdateCallback):
@type state: CurrentState
"""
if line.data and line.data[0] == '@':
ref = RelLib.MediaRef()
ref = gen.lib.MediaRef()
handle = self.__find_object_handle(line.data[1:-1])
ref.set_reference_handle(handle)
state.person.add_media_reference(ref)
@@ -1411,7 +1411,7 @@ class GedcomParser(UpdateCallback):
@type state: CurrentState
"""
# build a RelLib.Name structure from the text
# build a gen.lib.Name structure from the text
name = GedcomUtils.parse_name_personal(line.data)
@@ -1422,10 +1422,10 @@ class GedcomParser(UpdateCallback):
# of different name types
if state.name_cnt == 0:
name.set_type(RelLib.NameType.BIRTH)
name.set_type(gen.lib.NameType.BIRTH)
state.person.set_primary_name(name)
else:
name.set_type(RelLib.NameType.AKA)
name.set_type(gen.lib.NameType.AKA)
state.person.add_alternate_name(name)
state.name_cnt += 1
@@ -1462,7 +1462,7 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
event_ref = self.__build_event_pair(state, RelLib.EventType.CUSTOM,
event_ref = self.__build_event_pair(state, gen.lib.EventType.CUSTOM,
self.event_parse_tbl, line.data)
state.person.add_event_ref(event_ref)
@@ -1481,7 +1481,7 @@ class GedcomParser(UpdateCallback):
event = line.data
event.set_gramps_id(self.emapper.find_next())
event_ref = RelLib.EventRef()
event_ref = gen.lib.EventRef()
self.dbase.add_event(event, self.trans)
sub_state = GedcomUtils.CurrentState()
@@ -1509,7 +1509,7 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
event_ref = self.__build_event_pair(state, RelLib.EventType.RELIGION,
event_ref = self.__build_event_pair(state, gen.lib.EventType.RELIGION,
self.event_parse_tbl, line.data)
state.person.add_event_ref(event_ref)
@@ -1532,7 +1532,7 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
event_ref = self.__build_event_pair(state, RelLib.EventType.BIRTH,
event_ref = self.__build_event_pair(state, gen.lib.EventType.BIRTH,
self.event_parse_tbl, line.data)
if state.person.get_birth_ref():
state.person.add_event_ref(event_ref)
@@ -1554,7 +1554,7 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
event_ref = self.__build_event_pair(state, RelLib.EventType.ADOPT,
event_ref = self.__build_event_pair(state, gen.lib.EventType.ADOPT,
self.adopt_parse_tbl, line.data)
state.person.add_event_ref(event_ref)
@@ -1572,7 +1572,7 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
event_ref = self.__build_event_pair(state, RelLib.EventType.DEATH,
event_ref = self.__build_event_pair(state, gen.lib.EventType.DEATH,
self.event_parse_tbl, line.data)
if state.person.get_death_ref():
state.person.add_event_ref(event_ref)
@@ -1622,7 +1622,7 @@ class GedcomParser(UpdateCallback):
"""
sub_state = GedcomUtils.CurrentState()
sub_state.level = state.level+1
sub_state.addr = RelLib.Address()
sub_state.addr = gen.lib.Address()
sub_state.addr.set_street(line.data)
state.person.add_address(sub_state.addr)
self.__parse_level(sub_state, self.parse_addr_tbl, self.__ignore)
@@ -1636,7 +1636,7 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
addr = RelLib.Address()
addr = gen.lib.Address()
addr.set_street("Unknown")
addr.set_phone(line.data)
state.person.add_address(addr)
@@ -1648,10 +1648,10 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
event = RelLib.Event()
event_ref = RelLib.EventRef()
event = gen.lib.Event()
event_ref = gen.lib.EventRef()
event.set_gramps_id(self.emapper.find_next())
event.set_type(RelLib.EventType.NOB_TITLE)
event.set_type(gen.lib.EventType.NOB_TITLE)
event.set_description(line.data)
sub_state = GedcomUtils.CurrentState()
@@ -1685,9 +1685,9 @@ class GedcomParser(UpdateCallback):
@type state: CurrentState
"""
if line.data == "_OTHN":
state.name.set_type(RelLib.NameType.AKA)
state.name.set_type(gen.lib.NameType.AKA)
else:
state.name.set_type((RelLib.NameType.CUSTOM, line.data))
state.name.set_type((gen.lib.NameType.CUSTOM, line.data))
def __name_note(self, line, state):
"""
@@ -1760,13 +1760,13 @@ class GedcomParser(UpdateCallback):
text = line.data.strip()
data = text.split()
if len(data) == 1:
name = RelLib.Name(state.person.primary_name)
name = gen.lib.Name(state.person.primary_name)
name.set_surname(data[0].strip())
name.set_type(RelLib.NameType.MARRIED)
name.set_type(gen.lib.NameType.MARRIED)
state.person.add_alternate_name(name)
elif len(data) > 1:
name = GedcomUtils.parse_name_personal(text)
name.set_type(RelLib.NameType.MARRIED)
name.set_type(gen.lib.NameType.MARRIED)
state.person.add_alternate_name(name)
def __name_nsfx(self, line, state):
@@ -1787,8 +1787,8 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
attr = RelLib.Attribute()
attr.set_type(RelLib.AttributeType.NICKNAME)
attr = gen.lib.Attribute()
attr.set_type(gen.lib.AttributeType.NICKNAME)
attr.set_value(line.data)
state.person.add_attribute(attr)
self.__skip_subordinate_levels(state.level+1)
@@ -1803,12 +1803,12 @@ class GedcomParser(UpdateCallback):
lname = line.data.split()
name_len = len(lname)
if name_len == 1:
attr = RelLib.Attribute()
attr.set_type(RelLib.AttributeType.NICKNAME)
attr = gen.lib.Attribute()
attr.set_type(gen.lib.AttributeType.NICKNAME)
attr.set_value(line.data)
state.person.add_attribute(attr)
else:
name = RelLib.Name()
name = gen.lib.Name()
name.set_surname(lname[-1].strip())
name.set_first_name(' '.join(lname[0:name_len-1]))
state.person.add_alternate_name(name)
@@ -1847,7 +1847,7 @@ class GedcomParser(UpdateCallback):
@type state: CurrentState
"""
addr = RelLib.Address()
addr = gen.lib.Address()
sub_state = GedcomUtils.CurrentState()
sub_state.person = state.person
@@ -1971,7 +1971,7 @@ class GedcomParser(UpdateCallback):
"""
sub_state = GedcomUtils.CurrentState()
sub_state.person = state.person
sub_state.attr = RelLib.Attribute()
sub_state.attr = gen.lib.Attribute()
sub_state.attr.set_value(line.data)
sub_state.level = state.level+1
state.person.add_attribute(sub_state.attr)
@@ -1991,7 +1991,7 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
self.build_lds_ord(state, RelLib.LdsOrd.BAPTISM)
self.build_lds_ord(state, gen.lib.LdsOrd.BAPTISM)
def __person_conl(self, line, state):
"""
@@ -2002,7 +2002,7 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
self.build_lds_ord(state, RelLib.LdsOrd.CONFIRMATION)
self.build_lds_ord(state, gen.lib.LdsOrd.CONFIRMATION)
def __person_endl(self, line, state):
"""
@@ -2013,7 +2013,7 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
self.build_lds_ord(state, RelLib.LdsOrd.ENDOWMENT)
self.build_lds_ord(state, gen.lib.LdsOrd.ENDOWMENT)
def __person_slgc(self, line, state):
"""
@@ -2024,7 +2024,7 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
self.build_lds_ord(state, RelLib.LdsOrd.SEAL_TO_PARENTS)
self.build_lds_ord(state, gen.lib.LdsOrd.SEAL_TO_PARENTS)
def build_lds_ord(self, state, lds_type):
"""
@@ -2037,7 +2037,7 @@ class GedcomParser(UpdateCallback):
"""
sub_state = GedcomUtils.CurrentState()
sub_state.level = state.level + 1
sub_state.lds_ord = RelLib.LdsOrd()
sub_state.lds_ord = gen.lib.LdsOrd()
sub_state.lds_ord.set_type(lds_type)
sub_state.place = None
sub_state.place_fields = GedcomUtils.PlaceParser()
@@ -2147,7 +2147,7 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
status = GedcomInfo.lds_status.get(line.data, RelLib.LdsOrd.STATUS_NONE)
status = GedcomInfo.lds_status.get(line.data, gen.lib.LdsOrd.STATUS_NONE)
state.lds_ord.set_status(status)
def __person_famc(self, line, state):
@@ -2199,7 +2199,7 @@ class GedcomParser(UpdateCallback):
ref.set_father_relation(sub_state.ftype)
break
else:
ref = RelLib.ChildRef()
ref = gen.lib.ChildRef()
ref.ref = state.person.handle
if sub_state.ftype:
ref.set_mother_relation(sub_state.ftype)
@@ -2221,7 +2221,7 @@ class GedcomParser(UpdateCallback):
@type state: CurrentState
"""
state.ftype = PEDIGREE_TYPES.get(line.data.lower(),
RelLib.ChildRefType.UNKNOWN)
gen.lib.ChildRefType.UNKNOWN)
def __person_famc_note(self, line, state):
"""
@@ -2314,7 +2314,7 @@ class GedcomParser(UpdateCallback):
sub_state = GedcomUtils.CurrentState()
sub_state.person = state.person
sub_state.level = state.level + 1
sub_state.ref = RelLib.PersonRef()
sub_state.ref = gen.lib.PersonRef()
sub_state.ref.ref = handle
sub_state.ignore = False
@@ -2475,8 +2475,8 @@ class GedcomParser(UpdateCallback):
"""
event = line.data
event.set_gramps_id(self.emapper.find_next())
event_ref = RelLib.EventRef()
event_ref.set_role(RelLib.EventRoleType.FAMILY)
event_ref = gen.lib.EventRef()
event_ref.set_role(gen.lib.EventRoleType.FAMILY)
self.dbase.add_event(event, self.trans)
sub_state = GedcomUtils.CurrentState()
@@ -2487,16 +2487,16 @@ class GedcomParser(UpdateCallback):
self.__parse_level(sub_state, self.event_parse_tbl, self.__undefined)
if int(event.get_type()) == RelLib.EventType.MARRIAGE:
if int(event.get_type()) == gen.lib.EventType.MARRIAGE:
descr = event.get_description()
if descr == "Civil Union":
state.family.type.set(RelLib.FamilyRelType.CIVIL_UNION)
state.family.type.set(gen.lib.FamilyRelType.CIVIL_UNION)
event.set_description('')
elif descr == "Unmarried":
state.family.type.set(RelLib.FamilyRelType.UNMARRIED)
state.family.type.set(gen.lib.FamilyRelType.UNMARRIED)
event.set_description('')
else:
state.family.type.set(RelLib.FamilyRelType.MARRIED)
state.family.type.set(gen.lib.FamilyRelType.MARRIED)
family_event_name(event, state.family, self.dbase)
self.dbase.commit_event(event, self.trans)
@@ -2515,9 +2515,9 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
event = RelLib.Event()
event_ref = RelLib.EventRef()
event_ref.set_role(RelLib.EventRoleType.FAMILY)
event = gen.lib.Event()
event_ref = gen.lib.EventRef()
event_ref.set_role(gen.lib.EventRoleType.FAMILY)
event.set_gramps_id(self.emapper.find_next())
event.set_type(line.data)
self.dbase.add_event(event, self.trans)
@@ -2567,7 +2567,7 @@ class GedcomParser(UpdateCallback):
if sub_state.mrel:
ref.set_mother_relation(sub_state.mrel)
else:
ref = RelLib.ChildRef()
ref = gen.lib.ChildRef()
ref.ref = child.handle
if sub_state.frel:
ref.set_father_relation(sub_state.frel)
@@ -2592,8 +2592,8 @@ class GedcomParser(UpdateCallback):
"""
sub_state = GedcomUtils.CurrentState()
sub_state.level = state.level + 1
sub_state.lds_ord = RelLib.LdsOrd()
sub_state.lds_ord.set_type(RelLib.LdsOrd.SEAL_TO_SPOUSE)
sub_state.lds_ord = gen.lib.LdsOrd()
sub_state.lds_ord.set_type(gen.lib.LdsOrd.SEAL_TO_SPOUSE)
sub_state.place = None
sub_state.family = state.family
sub_state.place_fields = GedcomUtils.PlaceParser()
@@ -2684,7 +2684,7 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
state.addr = RelLib.Address()
state.addr = gen.lib.Address()
state.addr.set_street(line.data)
self.__parse_level(state, self.parse_addr_tbl, self.__ignore)
@@ -2704,7 +2704,7 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
attr = RelLib.Attribute()
attr = gen.lib.Attribute()
attr.set_type(line.token_text)
attr.set_value(line.data)
state.family.add_attribute(attr)
@@ -2853,17 +2853,17 @@ class GedcomParser(UpdateCallback):
"""
if state.event.get_type().is_custom():
if GED_2_GRAMPS.has_key(line.data):
name = RelLib.EventType(GED_2_GRAMPS[line.data])
name = gen.lib.EventType(GED_2_GRAMPS[line.data])
else:
val = self.gedsource.tag2gramps(line.data)
if val:
name = RelLib.EventType((RelLib.EventType.CUSTOM, val))
name = gen.lib.EventType((gen.lib.EventType.CUSTOM, val))
else:
try:
name = RelLib.EventType((RelLib.EventType.CUSTOM,
name = gen.lib.EventType((gen.lib.EventType.CUSTOM,
line[3]))
except AttributeError:
name = RelLib.EventType(RelLib.EventType.UNKNOWN)
name = gen.lib.EventType(gen.lib.EventType.UNKNOWN)
state.event.set_type(name)
else:
try:
@@ -3002,7 +3002,7 @@ class GedcomParser(UpdateCallback):
@type state: CurrentState
"""
sub_state = GedcomUtils.CurrentState(level=state.level+1)
sub_state.location = RelLib.Location()
sub_state.location = gen.lib.Location()
sub_state.location.set_street(line.data)
sub_state.note = []
sub_state.event = state.event
@@ -3063,7 +3063,7 @@ class GedcomParser(UpdateCallback):
if line.data[0:13] == "Description: ":
state.event.set_description(line.data[13:])
else:
new_note = RelLib.Note(line.data)
new_note = gen.lib.Note(line.data)
new_note.set_handle(Utils.create_id())
self.dbase.add_note(new_note, self.trans)
self.__skip_subordinate_levels(state.level+2)
@@ -3085,8 +3085,8 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
attr = RelLib.Attribute()
attr.set_type(RelLib.AttributeType.CAUSE)
attr = gen.lib.Attribute()
attr.set_type(gen.lib.AttributeType.CAUSE)
attr.set_value(line.data)
state.event.add_attribute(attr)
@@ -3113,8 +3113,8 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
attr = RelLib.Attribute()
attr.set_type(RelLib.AttributeType.AGE)
attr = gen.lib.Attribute()
attr.set_type(gen.lib.AttributeType.AGE)
attr.set_value(line.data)
state.event_ref.add_attribute(attr)
@@ -3130,8 +3130,8 @@ class GedcomParser(UpdateCallback):
if self.__level_is_finished(line, state.level):
break
elif line.token == TOKEN_AGE:
attr = RelLib.Attribute()
attr.set_type(RelLib.AttributeType.FATHER_AGE)
attr = gen.lib.Attribute()
attr.set_type(gen.lib.AttributeType.FATHER_AGE)
attr.set_value(line.data)
state.event_ref.add_attribute(attr)
@@ -3147,8 +3147,8 @@ class GedcomParser(UpdateCallback):
if self.__level_is_finished(line, state.level):
break
elif line.token == TOKEN_AGE:
attr = RelLib.Attribute()
attr.set_type(RelLib.AttributeType.MOTHER_AGE)
attr = gen.lib.Attribute()
attr.set_type(gen.lib.AttributeType.MOTHER_AGE)
attr.set_value(line.data)
state.event_ref.add_attribute(attr)
@@ -3159,8 +3159,8 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
attr = RelLib.Attribute()
attr.set_type(RelLib.AttributeType.AGENCY)
attr = gen.lib.Attribute()
attr.set_type(gen.lib.AttributeType.AGENCY)
attr.set_value(line.data)
state.event.add_attribute(attr)
@@ -3178,7 +3178,7 @@ class GedcomParser(UpdateCallback):
# +1 TYPE <TYPE_OF_RELATION>
assert( state.event.handle) # event handle is required to be set
wit = self.__find_or_create_person(self.pid_map[line.data])
event_ref = RelLib.EventRef()
event_ref = gen.lib.EventRef()
event_ref.set_reference_handle(state.event.handle)
while True:
line = self.__get_next_line()
@@ -3186,18 +3186,18 @@ class GedcomParser(UpdateCallback):
break
elif line.token == TOKEN_TYPE:
if line.data in ("WITNESS_OF_MARRIAGE"):
role = RelLib.EventRoleType(
RelLib.EventRoleType.WITNESS)
role = gen.lib.EventRoleType(
gen.lib.EventRoleType.WITNESS)
else:
role = RelLib.EventRoleType(
(RelLib.EventRoleType.CUSTOM, line.data))
role = gen.lib.EventRoleType(
(gen.lib.EventRoleType.CUSTOM, line.data))
event_ref.set_role(role)
wit.add_event_ref(event_ref)
self.dbase.commit_person(wit, self.trans)
else:
# n _WITN <TEXTUAL_LIST_OF_NAMES>
attr = RelLib.Attribute()
attr.set_type(RelLib.AttributeType.WITNESS)
attr = gen.lib.Attribute()
attr.set_type(gen.lib.AttributeType.WITNESS)
attr.set_value(line.data)
state.event.add_attribute(attr)
@@ -3219,8 +3219,8 @@ class GedcomParser(UpdateCallback):
self.__parse_level(sub_state, self.parse_person_adopt,
self.__undefined)
if (int(sub_state.mrel) == RelLib.ChildRefType.BIRTH and
int(sub_state.frel) == RelLib.ChildRefType.BIRTH):
if (int(sub_state.mrel) == gen.lib.ChildRefType.BIRTH and
int(sub_state.frel) == gen.lib.ChildRefType.BIRTH):
sub_state.mrel = sub_state.frel = TYPE_ADOPT
if state.person.get_main_parents_family_handle() == handle:
@@ -3234,7 +3234,7 @@ class GedcomParser(UpdateCallback):
ref.set_father_relation(sub_state.frel)
ref.set_mother_relation(sub_state.mrel)
else:
ref = RelLib.ChildRef()
ref = gen.lib.ChildRef()
ref.ref = state.person.handle
ref.set_father_relation(sub_state.frel)
ref.set_mother_relation(sub_state.mrel)
@@ -3269,7 +3269,7 @@ class GedcomParser(UpdateCallback):
state.person.set_main_parent_family_handle(None)
state.person.add_parent_family_handle(handle)
frel = mrel = RelLib.ChildRefType.BIRTH
frel = mrel = gen.lib.ChildRefType.BIRTH
family = self.dbase.find_family_from_handle(handle, self.trans)
reflist = [ ref for ref in family.get_child_ref_list() \
@@ -3279,7 +3279,7 @@ class GedcomParser(UpdateCallback):
ref.set_father_relation(frel)
ref.set_mother_relation(mrel)
else:
ref = RelLib.ChildRef()
ref = gen.lib.ChildRef()
ref.ref = state.person.handle
ref.set_father_relation(frel)
ref.set_mother_relation(mrel)
@@ -3414,21 +3414,21 @@ class GedcomParser(UpdateCallback):
state.src_ref.set_date_object(line.data)
def __source_text(self, line, state):
note = RelLib.Note()
note = gen.lib.Note()
note.set(line.data)
gramps_id = self.dbase.find_next_note_gramps_id()
note.set_gramps_id(gramps_id)
note.set_type(RelLib.NoteType.SOURCE_TEXT)
note.set_type(gen.lib.NoteType.SOURCE_TEXT)
self.dbase.add_note(note, self.trans)
state.source.add_note(note.get_handle())
def __srcref_data_text(self, line, state):
note = RelLib.Note()
note = gen.lib.Note()
note.set(line.data)
gramps_id = self.dbase.find_next_note_gramps_id()
note.set_gramps_id(gramps_id)
note.set_type(RelLib.NoteType.SOURCE_TEXT)
note.set_type(gen.lib.NoteType.SOURCE_TEXT)
self.dbase.add_note(note, self.trans)
state.src_ref.add_note(note.get_handle())
@@ -3583,7 +3583,7 @@ class GedcomParser(UpdateCallback):
self.repo2id[line.data] = repo.get_gramps_id()
repo.set_name(line.data)
self.dbase.commit_repository(repo, self.trans)
repo_ref = RelLib.RepoRef()
repo_ref = gen.lib.RepoRef()
repo_ref.set_reference_handle(repo.handle)
sub_state = GedcomUtils.CurrentState()
@@ -3607,7 +3607,7 @@ class GedcomParser(UpdateCallback):
def __repo_ref_medi(self, line, state):
name = line.data
mtype = MEDIA_MAP.get(name.lower(),
(RelLib.SourceMediaType.CUSTOM, name))
(gen.lib.SourceMediaType.CUSTOM, name))
state.repo_ref.set_media_type(mtype)
def __repo_ref_note(self, line, state):
@@ -3635,8 +3635,8 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
attr = RelLib.Attribute()
attr.set_type(RelLib.AttributeType.AGENCY)
attr = gen.lib.Attribute()
attr.set_type(gen.lib.AttributeType.AGENCY)
attr.set_value(line.data)
state.source.add_attribute(attr)
@@ -3910,7 +3910,7 @@ class GedcomParser(UpdateCallback):
if this happened, and try to fix it.
"""
addr = RelLib.Address()
addr = gen.lib.Address()
addr.set_street(line.data)
sub_state = GedcomUtils.CurrentState()
@@ -3957,7 +3957,7 @@ class GedcomParser(UpdateCallback):
@type state: CurrentState
"""
if not state.location:
state.location = RelLib.Location()
state.location = gen.lib.Location()
val = state.location.get_street()
if val:
val = "%s, %s" % (val, line.data.strip())
@@ -3973,7 +3973,7 @@ class GedcomParser(UpdateCallback):
@type state: CurrentState
"""
if not state.location:
state.location = RelLib.Location()
state.location = gen.lib.Location()
state.location.set_date_object(line.data)
def __location_city(self, line, state):
@@ -3984,7 +3984,7 @@ class GedcomParser(UpdateCallback):
@type state: CurrentState
"""
if not state.location:
state.location = RelLib.Location()
state.location = gen.lib.Location()
state.location.set_city(line.data)
def __location_stae(self, line, state):
@@ -3995,7 +3995,7 @@ class GedcomParser(UpdateCallback):
@type state: CurrentState
"""
if not state.location:
state.location = RelLib.Location()
state.location = gen.lib.Location()
state.location.set_state(line.data)
def __location_post(self, line, state):
@@ -4006,7 +4006,7 @@ class GedcomParser(UpdateCallback):
@type state: CurrentState
"""
if not state.location:
state.location = RelLib.Location()
state.location = gen.lib.Location()
state.location.set_postal_code(line.data)
def __location_ctry(self, line, state):
@@ -4017,7 +4017,7 @@ class GedcomParser(UpdateCallback):
@type state: CurrentState
"""
if not state.location:
state.location = RelLib.Location()
state.location = gen.lib.Location()
state.location.set_country(line.data)
def __location_note(self, line, state):
@@ -4028,7 +4028,7 @@ class GedcomParser(UpdateCallback):
@type state: CurrentState
"""
if not state.location:
state.location = RelLib.Location()
state.location = gen.lib.Location()
self.__parse_note(line, state.event, state.level+1)
def map_ancestry_com(self, person, original_gid):
@@ -4191,14 +4191,14 @@ class GedcomParser(UpdateCallback):
gid = line.data.strip()
obj.add_note(self.__find_note_handle(self.nid_map[gid]))
else:
new_note = RelLib.Note(line.data)
new_note = gen.lib.Note(line.data)
new_note.set_handle(Utils.create_id())
self.dbase.add_note(new_note, self.trans)
self.__skip_subordinate_levels(level+1)
obj.add_note(new_note.get_handle())
def __parse_inline_note(self, line, level):
new_note = RelLib.Note(line.data)
new_note = gen.lib.Note(line.data)
gid = self.nid_map[line.token_text]
handle = self.nid2id.get(gid)
new_note.set_handle(handle)
@@ -4234,11 +4234,11 @@ class GedcomParser(UpdateCallback):
Handles the specified source, building a source reference to
the object.
"""
source_ref = RelLib.SourceRef()
source_ref = gen.lib.SourceRef()
if line.data and line.data[0] != "@":
title = line.data
handle = self.inline_srcs.get(title, Utils.create_id())
src = RelLib.Source()
src = gen.lib.Source()
src.handle = handle
src.gramps_id = self.dbase.find_next_source_gramps_id()
self.inline_srcs[title] = handle
@@ -4298,10 +4298,10 @@ class GedcomParser(UpdateCallback):
def build_media_object(self, obj, form, filename, title, note):
if form == "url":
url = RelLib.Url()
url = gen.lib.Url()
url.set_path(filename)
url.set_description(title)
url.set_type(RelLib.UrlType.WEB_HOME)
url.set_type(gen.lib.UrlType.WEB_HOME)
obj.add_url(url)
else:
(valid, path) = self.__find_file(filename, self.dir_path)
@@ -4310,7 +4310,7 @@ class GedcomParser(UpdateCallback):
path = filename.replace('\\', os.path.sep)
photo_handle = self.media_map.get(path)
if photo_handle == None:
photo = RelLib.MediaObject()
photo = gen.lib.MediaObject()
photo.set_path(path)
photo.set_description(title)
full_path = os.path.abspath(path)
@@ -4322,7 +4322,7 @@ class GedcomParser(UpdateCallback):
self.media_map[path] = photo.handle
else:
photo = self.dbase.get_object_from_handle(photo_handle)
oref = RelLib.MediaRef()
oref = gen.lib.MediaRef()
oref.set_reference_handle(photo.handle)
oref.add_note(note)
obj.add_media_reference(oref)
@@ -4340,8 +4340,8 @@ class GedcomParser(UpdateCallback):
n <<MULTIMEDIA_LINK>> {0:M} p.*, *
n <<NOTE_STRUCTURE>> {0:M} p.
"""
event = RelLib.Event()
event_ref = RelLib.EventRef()
event = gen.lib.Event()
event_ref = gen.lib.EventRef()
event.set_gramps_id(self.emapper.find_next())
event.set_type(event_type)
@@ -4365,8 +4365,8 @@ class GedcomParser(UpdateCallback):
def __build_family_event_pair(self, state, event_type, event_map,
description):
event = RelLib.Event()
event_ref = RelLib.EventRef()
event = gen.lib.Event()
event_ref = gen.lib.EventRef()
event.set_gramps_id(self.emapper.find_next())
event.set_type(event_type)
if description and description != 'Y':
@@ -4416,7 +4416,7 @@ class GedcomParser(UpdateCallback):
Adds the default source to the object.
"""
if self.use_def_src and len(obj.get_source_references()) == 0:
sref = RelLib.SourceRef()
sref = gen.lib.SourceRef()
sref.set_reference_handle(self.def_src.handle)
obj.add_source_reference(sref)

View File

@@ -23,7 +23,7 @@ Support classes to simplify GEDCOM importing
"""
import re
import RelLib
import gen.lib
NAME_RE = re.compile(r"/?([^/]*)(/([^/]*)(/([^/]*))?)?")
SURNAME_RE = re.compile(r"/([^/]*)/([^/]*)")
@@ -73,20 +73,20 @@ class PlaceParser:
"""
__field_map = {
'addr' : RelLib.Location.set_street,
'subdivision' : RelLib.Location.set_street,
'addr1' : RelLib.Location.set_street,
'adr1' : RelLib.Location.set_street,
'city' : RelLib.Location.set_city,
'town' : RelLib.Location.set_city,
'village' : RelLib.Location.set_city,
'county' : RelLib.Location.set_county,
'country' : RelLib.Location.set_country,
'state' : RelLib.Location.set_state,
'state/province': RelLib.Location.set_state,
'region' : RelLib.Location.set_state,
'province' : RelLib.Location.set_state,
'area code' : RelLib.Location.set_postal_code,
'addr' : gen.lib.Location.set_street,
'subdivision' : gen.lib.Location.set_street,
'addr1' : gen.lib.Location.set_street,
'adr1' : gen.lib.Location.set_street,
'city' : gen.lib.Location.set_city,
'town' : gen.lib.Location.set_city,
'village' : gen.lib.Location.set_city,
'county' : gen.lib.Location.set_county,
'country' : gen.lib.Location.set_country,
'state' : gen.lib.Location.set_state,
'state/province': gen.lib.Location.set_state,
'region' : gen.lib.Location.set_state,
'province' : gen.lib.Location.set_state,
'area code' : gen.lib.Location.set_postal_code,
}
def __init__(self, line=None):
@@ -99,7 +99,7 @@ class PlaceParser:
"""
Parses the GEDCOM PLAC.FORM into a list of function
pointers (if possible). It does this my mapping the text strings
(separated by commas) to the corresponding RelLib.Location
(separated by commas) to the corresponding gen.lib.Location
method via the __field_map variable
"""
for item in line.data.split(','):
@@ -203,7 +203,7 @@ def parse_name_personal(text):
"""
Parses a GEDCOM NAME value into an Name structure
"""
name = RelLib.Name()
name = gen.lib.Name()
match = SURNAME_RE.match(text)
if match:

View File

@@ -40,7 +40,7 @@ import re
#-------------------------------------------------------------------------
from QuestionDialog import ErrorDialog
import Mime
import RelLib
import gen.lib
import const
import Utils
import DateHandler
@@ -64,12 +64,12 @@ except:
PERSON_RE = re.compile(r"\s*\<person\s(.*)$")
CHILD_REL_MAP = {
"Birth" : RelLib.ChildRefType(RelLib.ChildRefType.BIRTH),
"Adopted" : RelLib.ChildRefType(RelLib.ChildRefType.ADOPTED),
"Stepchild" : RelLib.ChildRefType(RelLib.ChildRefType.STEPCHILD),
"Sponsored" : RelLib.ChildRefType(RelLib.ChildRefType.SPONSORED),
"Foster" : RelLib.ChildRefType(RelLib.ChildRefType.FOSTER),
"Unknown" : RelLib.ChildRefType(RelLib.ChildRefType.UNKNOWN),
"Birth" : gen.lib.ChildRefType(gen.lib.ChildRefType.BIRTH),
"Adopted" : gen.lib.ChildRefType(gen.lib.ChildRefType.ADOPTED),
"Stepchild" : gen.lib.ChildRefType(gen.lib.ChildRefType.STEPCHILD),
"Sponsored" : gen.lib.ChildRefType(gen.lib.ChildRefType.SPONSORED),
"Foster" : gen.lib.ChildRefType(gen.lib.ChildRefType.FOSTER),
"Unknown" : gen.lib.ChildRefType(gen.lib.ChildRefType.UNKNOWN),
}
EVENT_FAMILY_STR = _("%(event_name)s of %(family)s")
@@ -332,7 +332,7 @@ class GrampsParser(UpdateCallback):
self.name = None
self.tempDefault = None
self.home = None
self.owner = RelLib.Researcher()
self.owner = gen.lib.Researcher()
self.func_list = [None]*50
self.func_index = 0
self.func = None
@@ -454,7 +454,7 @@ class GrampsParser(UpdateCallback):
person = self.db.get_person_from_handle(intid)
else:
intid = Utils.create_id()
person = RelLib.Person()
person = gen.lib.Person()
person.set_handle(intid)
person.set_gramps_id(gramps_id)
self.db.add_person(person, self.trans)
@@ -467,7 +467,7 @@ class GrampsParser(UpdateCallback):
family = self.db.get_family_from_handle(intid)
else:
intid = Utils.create_id()
family = RelLib.Family()
family = gen.lib.Family()
family.set_handle(intid)
family.set_gramps_id(gramps_id)
self.db.add_family(family, self.trans)
@@ -480,7 +480,7 @@ class GrampsParser(UpdateCallback):
event = self.db.get_event_from_handle(intid)
else:
intid = Utils.create_id()
event = RelLib.Event()
event = gen.lib.Event()
event.set_handle(intid)
event.set_gramps_id(gramps_id)
self.db.add_event(event, self.trans)
@@ -493,7 +493,7 @@ class GrampsParser(UpdateCallback):
place = self.db.get_place_from_handle(intid)
else:
intid = Utils.create_id()
place = RelLib.Place()
place = gen.lib.Place()
place.set_handle(intid)
place.set_gramps_id(gramps_id)
self.db.add_place(place, self.trans)
@@ -506,7 +506,7 @@ class GrampsParser(UpdateCallback):
source = self.db.get_source_from_handle(intid)
else:
intid = Utils.create_id()
source = RelLib.Source()
source = gen.lib.Source()
source.set_handle(intid)
source.set_gramps_id(gramps_id)
self.db.add_source(source, self.trans)
@@ -519,7 +519,7 @@ class GrampsParser(UpdateCallback):
obj = self.db.get_object_from_handle(intid)
else:
intid = Utils.create_id()
obj = RelLib.MediaObject()
obj = gen.lib.MediaObject()
obj.set_handle(intid)
obj.set_gramps_id(gramps_id)
self.db.add_object(obj, self.trans)
@@ -532,7 +532,7 @@ class GrampsParser(UpdateCallback):
repo = self.db.get_repository_from_handle(intid)
else:
intid = Utils.create_id()
repo = RelLib.Repository()
repo = gen.lib.Repository()
repo.set_handle(intid)
repo.set_gramps_id(gramps_id)
self.db.add_repository(repo, self.trans)
@@ -545,7 +545,7 @@ class GrampsParser(UpdateCallback):
note = self.db.get_note_from_handle(intid)
else:
intid = Utils.create_id()
note = RelLib.Note()
note = gen.lib.Note()
note.set_handle(intid)
note.set_gramps_id(gramps_id)
self.db.add_note(note, self.trans)
@@ -558,7 +558,7 @@ class GrampsParser(UpdateCallback):
repo = self.db.get_repository_from_handle(intid)
else:
intid = Utils.create_id()
repo = RelLib.Repository()
repo = gen.lib.Repository()
repo.set_handle(intid)
repo.set_gramps_id(gramps_id)
self.db.add_repository(repo, self.trans)
@@ -671,7 +671,7 @@ class GrampsParser(UpdateCallback):
self.db.request_rebuild()
def start_lds_ord(self, attrs):
self.ord = RelLib.LdsOrd()
self.ord = gen.lib.LdsOrd()
self.ord.set_type_from_xml(attrs['type'])
self.ord.private = bool(attrs.get("priv"))
if self.person:
@@ -732,7 +732,7 @@ class GrampsParser(UpdateCallback):
"""Bypass the function calls for this one, since it appears to
take up quite a bit of time"""
loc = RelLib.Location()
loc = gen.lib.Location()
loc.phone = attrs.get('phone', '')
loc.postal = attrs.get('postal', '')
loc.city = attrs.get('city', '')
@@ -752,10 +752,10 @@ class GrampsParser(UpdateCallback):
self.in_witness = True
self.witness_comment = ""
if attrs.has_key('name'):
note = RelLib.Note()
note = gen.lib.Note()
note.handle = Utils.create_id()
note.set(_("Witness name: %s") % attrs['name'])
note.type.set(RelLib.NoteType.EVENT)
note.type.set(gen.lib.NoteType.EVENT)
note.private = self.event.private
self.db.add_note(note, self.trans)
self.event.add_note(note.handle)
@@ -773,9 +773,9 @@ class GrampsParser(UpdateCallback):
# Add an EventRef from that person
# to this event using ROLE_WITNESS role
if person:
event_ref = RelLib.EventRef()
event_ref = gen.lib.EventRef()
event_ref.ref = self.event.handle
event_ref.role.set(RelLib.EventRoleType.WITNESS)
event_ref.role.set(gen.lib.EventRoleType.WITNESS)
person.event_ref_list.append(event_ref)
self.db.commit_person(person, self.trans, self.change)
@@ -787,9 +787,9 @@ class GrampsParser(UpdateCallback):
if self.person or self.family:
# GRAMPS LEGACY: old events that were written inside
# person or family objects.
self.event = RelLib.Event()
self.event = gen.lib.Event()
self.event.handle = Utils.create_id()
self.event.type = RelLib.EventType()
self.event.type = gen.lib.EventType()
self.event.type.set_from_xml_str(attrs['type'])
self.db.add_event(self.event, self.trans)
else:
@@ -805,7 +805,7 @@ class GrampsParser(UpdateCallback):
self.event.private = bool(attrs.get("priv"))
def start_eventref(self, attrs):
self.eventref = RelLib.EventRef()
self.eventref = gen.lib.EventRef()
self.eventref.ref = attrs['hlink'].replace('_', '')
self.eventref.private = bool(attrs.get('priv'))
if attrs.has_key('role'):
@@ -822,21 +822,21 @@ class GrampsParser(UpdateCallback):
self.family.add_event_ref(self.eventref)
elif self.person:
event.personal = True
if (event.type == RelLib.EventType.BIRTH) \
and (self.eventref.role == RelLib.EventRoleType.PRIMARY) \
if (event.type == gen.lib.EventType.BIRTH) \
and (self.eventref.role == gen.lib.EventRoleType.PRIMARY) \
and (self.person.get_birth_ref() == None):
self.person.set_birth_ref(self.eventref)
elif (event.type == RelLib.EventType.DEATH) \
and (self.eventref.role == RelLib.EventRoleType.PRIMARY) \
elif (event.type == gen.lib.EventType.DEATH) \
and (self.eventref.role == gen.lib.EventRoleType.PRIMARY) \
and (self.person.get_death_ref() == None):
self.person.set_death_ref(self.eventref)
else:
self.person.add_event_ref(self.eventref)
def start_attribute(self, attrs):
self.attribute = RelLib.Attribute()
self.attribute = gen.lib.Attribute()
self.attribute.private = bool(attrs.get("priv"))
self.attribute.type = RelLib.AttributeType()
self.attribute.type = gen.lib.AttributeType()
if attrs.has_key('type'):
self.attribute.type.set_from_xml_str(attrs["type"])
self.attribute.value = attrs.get("value", '')
@@ -856,7 +856,7 @@ class GrampsParser(UpdateCallback):
self.family.add_attribute(self.attribute)
def start_address(self, attrs):
self.address = RelLib.Address()
self.address = gen.lib.Address()
self.address.private = bool(attrs.get("priv"))
def start_bmark(self, attrs):
@@ -950,7 +950,7 @@ class GrampsParser(UpdateCallback):
self.person.private = bool(attrs.get("priv"))
# Old and new markers: complete=1 and marker=word both have to work
if attrs.get('complete'): # this is only true for complete=1
self.person.marker.set(RelLib.MarkerType.COMPLETE)
self.person.marker.set(gen.lib.MarkerType.COMPLETE)
else:
self.person.marker.set_from_xml_str(attrs.get("marker", ''))
@@ -994,14 +994,14 @@ class GrampsParser(UpdateCallback):
def start_childref(self, attrs):
# Here we are handling the new XML, in which frel and mrel
# belong to the "child" tag under family.
self.childref = RelLib.ChildRef()
self.childref = gen.lib.ChildRef()
self.childref.ref = attrs['hlink'].replace('_', '')
self.childref.private = bool(attrs.get('priv'))
mrel = RelLib.ChildRefType()
mrel = gen.lib.ChildRefType()
if attrs.get('mrel'):
mrel.set_from_xml_str(attrs['mrel'])
frel = RelLib.ChildRefType()
frel = gen.lib.ChildRefType()
if attrs.get('frel'):
frel.set_from_xml_str(attrs['frel'])
@@ -1012,7 +1012,7 @@ class GrampsParser(UpdateCallback):
self.family.add_child_ref(self.childref)
def start_personref(self, attrs):
self.personref = RelLib.PersonRef()
self.personref = gen.lib.PersonRef()
self.personref.ref = attrs['hlink'].replace('_', '')
self.personref.private = bool(attrs.get('priv'))
self.personref.rel = attrs['rel']
@@ -1021,7 +1021,7 @@ class GrampsParser(UpdateCallback):
def start_url(self, attrs):
if not attrs.has_key("href"):
return
url = RelLib.Url()
url = gen.lib.Url()
url.path = attrs["href"]
url.set_description(attrs.get("description", ''))
url.private = bool(attrs.get('priv'))
@@ -1052,7 +1052,7 @@ class GrampsParser(UpdateCallback):
# Old and new markers: complete=1 and marker=word both have to work
if attrs.get('complete'): # this is only true for complete=1
self.family.marker.set(RelLib.MarkerType.COMPLETE)
self.family.marker.set(gen.lib.MarkerType.COMPLETE)
else:
self.family.marker.set_from_xml_str(attrs.get("marker", ''))
@@ -1083,14 +1083,14 @@ class GrampsParser(UpdateCallback):
# Here we are handling the old XML, in which
# frel and mrel belonged to the "childof" tag
mrel = RelLib.ChildRefType()
frel = RelLib.ChildRefType()
mrel = gen.lib.ChildRefType()
frel = gen.lib.ChildRefType()
if attrs.has_key('mrel'):
mrel.set_from_xml_str(attrs['mrel'])
if attrs.has_key('frel'):
frel.set_from_xml_str(attrs['frel'])
childref = RelLib.ChildRef()
childref = gen.lib.ChildRef()
childref.ref = self.person.handle
if not mrel.is_default():
childref.set_mother_relation(mrel)
@@ -1110,11 +1110,11 @@ class GrampsParser(UpdateCallback):
def start_name(self, attrs):
if not self.in_witness:
self.name = RelLib.Name()
self.name = gen.lib.Name()
name_type = attrs['type']
# Mapping "Other Name" from gramps 2.0.x to Unknown
if (self.version_string=='1.0.0') and (name_type=='Other Name'):
self.name.set_type(RelLib.NameType.UNKNOWN)
self.name.set_type(gen.lib.NameType.UNKNOWN)
else:
self.name.type.set_from_xml_str(name_type)
self.name.private = bool(attrs.get("priv"))
@@ -1153,69 +1153,69 @@ class GrampsParser(UpdateCallback):
except KeyError:
self.note = self.find_note_by_gramps_id(gramps_id)
self.note.private = bool(attrs.get("priv"))
self.note.format = int(attrs.get('format', RelLib.Note.FLOWED))
self.note.format = int(attrs.get('format', gen.lib.Note.FLOWED))
self.note.type.set_from_xml_str(attrs['type'])
else:
# GRAMPS LEGACY: old notes that were written inside other objects
# We need to create a top-level note, it's type depends on
# the caller object, and inherits privacy from caller object
# On stop_note the reference to this note will be added
self.note = RelLib.Note()
self.note = gen.lib.Note()
self.note.handle = Utils.create_id()
self.note.format = int(attrs.get('format', RelLib.Note.FLOWED))
self.note.format = int(attrs.get('format', gen.lib.Note.FLOWED))
if self.source_ref:
self.note.type.set(RelLib.NoteType.SOURCEREF)
self.note.type.set(gen.lib.NoteType.SOURCEREF)
self.note.private = self.source_ref.private
elif self.address:
self.note.type.set(RelLib.NoteType.ADDRESS)
self.note.type.set(gen.lib.NoteType.ADDRESS)
self.note.private = self.address.private
elif self.ord:
self.note.type.set(RelLib.NoteType.LDS)
self.note.type.set(gen.lib.NoteType.LDS)
self.note.private = self.ord.private
elif self.attribute:
self.note.type.set(RelLib.NoteType.ATTRIBUTE)
self.note.type.set(gen.lib.NoteType.ATTRIBUTE)
self.note.private = self.attribute.private
elif self.object:
self.note.type.set(RelLib.NoteType.MEDIA)
self.note.type.set(gen.lib.NoteType.MEDIA)
self.note.private = self.object.private
elif self.objref:
self.note.type.set(RelLib.NoteType.MEDIAREF)
self.note.type.set(gen.lib.NoteType.MEDIAREF)
self.note.private = self.objref.private
elif self.photo:
self.note.type.set(RelLib.NoteType.MEDIA)
self.note.type.set(gen.lib.NoteType.MEDIA)
self.note.private = self.photo.private
elif self.name:
self.note.type.set(RelLib.NoteType.PERSONNAME)
self.note.type.set(gen.lib.NoteType.PERSONNAME)
self.note.private = self.name.private
elif self.source:
self.note.type.set(RelLib.NoteType.SOURCE)
self.note.type.set(gen.lib.NoteType.SOURCE)
self.note.private = self.source.private
elif self.event:
self.note.type.set(RelLib.NoteType.EVENT)
self.note.type.set(gen.lib.NoteType.EVENT)
self.note.private = self.event.private
elif self.personref:
self.note.type.set(RelLib.NoteType.ASSOCIATION)
self.note.type.set(gen.lib.NoteType.ASSOCIATION)
self.note.private = self.personref.private
elif self.person:
self.note.type.set(RelLib.NoteType.PERSON)
self.note.type.set(gen.lib.NoteType.PERSON)
self.note.private = self.person.private
elif self.childref:
self.note.type.set(RelLib.NoteType.CHILDREF)
self.note.type.set(gen.lib.NoteType.CHILDREF)
self.note.private = self.childref.private
elif self.family:
self.note.type.set(RelLib.NoteType.FAMILY)
self.note.type.set(gen.lib.NoteType.FAMILY)
self.note.private = self.family.private
elif self.placeobj:
self.note.type.set(RelLib.NoteType.PLACE)
self.note.type.set(gen.lib.NoteType.PLACE)
self.note.private = self.placeobj.private
elif self.eventref:
self.note.type.set(RelLib.NoteType.EVENTREF)
self.note.type.set(gen.lib.NoteType.EVENTREF)
self.note.private = self.eventref.private
elif self.repo:
self.note.type.set(RelLib.NoteType.REPO)
self.note.type.set(gen.lib.NoteType.REPO)
self.note.private = self.repo.private
elif self.reporef:
self.note.type.set(RelLib.NoteType.REPOREF)
self.note.type.set(gen.lib.NoteType.REPOREF)
self.note.private = self.reporef.private
self.db.add_note(self.note, self.trans)
@@ -1262,7 +1262,7 @@ class GrampsParser(UpdateCallback):
self.reporef.add_note(handle)
def start_sourceref(self, attrs):
self.source_ref = RelLib.SourceRef()
self.source_ref = gen.lib.SourceRef()
try:
handle = attrs["hlink"].replace('_', '')
self.db.check_source_from_handle(handle, self.trans)
@@ -1313,7 +1313,7 @@ class GrampsParser(UpdateCallback):
self.source.private = bool(attrs.get("priv"))
def start_reporef(self, attrs):
self.reporef = RelLib.RepoRef()
self.reporef = gen.lib.RepoRef()
try:
handle = attrs['hlink'].replace('_', '')
self.db.check_repository_from_handle(handle, self.trans)
@@ -1330,7 +1330,7 @@ class GrampsParser(UpdateCallback):
self.source.add_repo_reference(self.reporef)
def start_objref(self, attrs):
self.objref = RelLib.MediaRef()
self.objref = gen.lib.MediaRef()
try:
handle = attrs['hlink'].replace('_', '')
self.db.check_object_from_handle(handle, self.trans)
@@ -1412,8 +1412,8 @@ class GrampsParser(UpdateCallback):
self.reporef = None
def start_photo(self, attrs):
self.photo = RelLib.MediaObject()
self.pref = RelLib.MediaRef()
self.photo = gen.lib.MediaObject()
self.pref = gen.lib.MediaRef()
self.pref.set_reference_handle(self.photo.get_handle())
for key in attrs.keys():
@@ -1429,7 +1429,7 @@ class GrampsParser(UpdateCallback):
else:
self.photo.set_path(src)
else:
attr = RelLib.Attribute()
attr = gen.lib.Attribute()
attr.set_type(key)
attr.set_value(attrs[key])
self.photo.add_attribute(attr)
@@ -1445,10 +1445,10 @@ class GrampsParser(UpdateCallback):
self.placeobj.add_media_reference(self.pref)
def start_daterange(self, attrs):
self.start_compound_date(attrs, RelLib.Date.MOD_RANGE)
self.start_compound_date(attrs, gen.lib.Date.MOD_RANGE)
def start_datespan(self, attrs):
self.start_compound_date(attrs, RelLib.Date.MOD_SPAN)
self.start_compound_date(attrs, gen.lib.Date.MOD_SPAN)
def start_compound_date(self, attrs, mode):
if self.source_ref:
@@ -1498,20 +1498,20 @@ class GrampsParser(UpdateCallback):
rng_day = 0
if attrs.has_key("cformat"):
cal = RelLib.Date.calendar.index(attrs['calendar'])
cal = gen.lib.Date.calendar.index(attrs['calendar'])
else:
cal = RelLib.Date.CAL_GREGORIAN
cal = gen.lib.Date.CAL_GREGORIAN
if attrs.has_key('quality'):
val = attrs['quality']
if val == 'estimated':
qual = RelLib.Date.QUAL_ESTIMATED
qual = gen.lib.Date.QUAL_ESTIMATED
elif val == 'calculated':
qual = RelLib.Date.QUAL_CALCULATED
qual = gen.lib.Date.QUAL_CALCULATED
else:
qual = RelLib.Date.QUAL_NONE
qual = gen.lib.Date.QUAL_NONE
else:
qual = RelLib.Date.QUAL_NONE
qual = gen.lib.Date.QUAL_NONE
date_value.set(qual, mode, cal,
(day, month, year, False, rng_day,
@@ -1553,31 +1553,31 @@ class GrampsParser(UpdateCallback):
day = 0
if attrs.has_key("cformat"):
cal = RelLib.Date.calendar_names.index(attrs['cformat'])
cal = gen.lib.Date.calendar_names.index(attrs['cformat'])
else:
cal = RelLib.Date.CAL_GREGORIAN
cal = gen.lib.Date.CAL_GREGORIAN
if attrs.has_key('type'):
val = attrs['type']
if val == "about":
mod = RelLib.Date.MOD_ABOUT
mod = gen.lib.Date.MOD_ABOUT
elif val == "after":
mod = RelLib.Date.MOD_AFTER
mod = gen.lib.Date.MOD_AFTER
else:
mod = RelLib.Date.MOD_BEFORE
mod = gen.lib.Date.MOD_BEFORE
else:
mod = RelLib.Date.MOD_NONE
mod = gen.lib.Date.MOD_NONE
if attrs.has_key('quality'):
val = attrs['quality']
if val == 'estimated':
qual = RelLib.Date.QUAL_ESTIMATED
qual = gen.lib.Date.QUAL_ESTIMATED
elif val == 'calculated':
qual = RelLib.Date.QUAL_CALCULATED
qual = gen.lib.Date.QUAL_CALCULATED
else:
qual = RelLib.Date.QUAL_NONE
qual = gen.lib.Date.QUAL_NONE
else:
qual = RelLib.Date.QUAL_NONE
qual = gen.lib.Date.QUAL_NONE
date_value.set(qual, mod, cal, (day, month, year, False))
@@ -1640,10 +1640,10 @@ class GrampsParser(UpdateCallback):
text = None
if text != None:
note = RelLib.Note()
note = gen.lib.Note()
note.handle = Utils.create_id()
note.set(_("Witness comment: %s") % text)
note.type.set(RelLib.NoteType.EVENT)
note.type.set(gen.lib.NoteType.EVENT)
note.private = self.event.private
self.db.add_note(note, self.trans)
self.event.add_note(note.handle)
@@ -1705,27 +1705,27 @@ class GrampsParser(UpdateCallback):
def stop_event(self, *tag):
if self.family:
ref = RelLib.EventRef()
ref = gen.lib.EventRef()
ref.ref = self.event.handle
ref.private = self.event.private
ref.role.set(RelLib.EventRoleType.FAMILY)
ref.role.set(gen.lib.EventRoleType.FAMILY)
self.family.add_event_ref(ref)
elif self.person:
ref = RelLib.EventRef()
ref = gen.lib.EventRef()
ref.ref = self.event.handle
ref.private = self.event.private
ref.role.set(RelLib.EventRoleType.PRIMARY)
if (self.event.type == RelLib.EventType.BIRTH) \
ref.role.set(gen.lib.EventRoleType.PRIMARY)
if (self.event.type == gen.lib.EventType.BIRTH) \
and (self.person.get_birth_ref() == None):
self.person.set_birth_ref(ref)
elif (self.event.type == RelLib.EventType.DEATH) \
elif (self.event.type == gen.lib.EventType.DEATH) \
and (self.person.get_death_ref() == None):
self.person.set_death_ref(ref)
else:
self.person.add_event_ref(ref)
if self.event.get_description() == "" and \
self.event.get_type() != RelLib.EventType.CUSTOM:
self.event.get_type() != gen.lib.EventType.CUSTOM:
if self.family:
text = EVENT_FAMILY_STR % {
'event_name' : str(self.event.get_type()),
@@ -1746,21 +1746,21 @@ class GrampsParser(UpdateCallback):
def stop_name(self, tag):
if self.in_witness:
# Parse witnesses created by older gramps
note = RelLib.Note()
note = gen.lib.Note()
note.handle = Utils.create_id()
note.set(_("Witness name: %s") % tag)
note.type.set(RelLib.NoteType.EVENT)
note.type.set(gen.lib.NoteType.EVENT)
note.private = self.event.private
self.db.add_note(note, self.trans)
self.event.add_note(note.handle)
elif self.alt_name:
# former aka tag -- alternate name
if self.name.get_type() == "":
self.name.set_type(RelLib.NameType.AKA)
self.name.set_type(gen.lib.NameType.AKA)
self.person.add_alternate_name(self.name)
else:
if self.name.get_type() == "":
self.name.set_type(RelLib.NameType.BIRTH)
self.name.set_type(gen.lib.NameType.BIRTH)
self.person.set_primary_name (self.name)
self.name = None
@@ -1773,9 +1773,9 @@ class GrampsParser(UpdateCallback):
person = self.find_person_by_gramps_id(self.map_gid(tag))
# Add an EventRef from that person
# to this event using ROLE_WITNESS role
event_ref = RelLib.EventRef()
event_ref = gen.lib.EventRef()
event_ref.ref = self.event.handle
event_ref.role.set(RelLib.EventRoleType.WITNESS)
event_ref.role.set(gen.lib.EventRoleType.WITNESS)
person.event_ref_list.append(event_ref)
self.db.commit_person(person, self.trans, self.change)
@@ -1784,7 +1784,7 @@ class GrampsParser(UpdateCallback):
if self.place_map.has_key(tag):
self.placeobj = self.place_map[tag]
else:
self.placeobj = RelLib.Place()
self.placeobj = gen.lib.Place()
self.placeobj.set_title(tag)
if self.ord:
self.ord.set_place_handle(self.placeobj.get_handle())
@@ -1820,19 +1820,19 @@ class GrampsParser(UpdateCallback):
def stop_cause(self, tag):
# The old event's cause is now an attribute
attr = RelLib.Attribute()
attr.set_type(RelLib.AttributeType.CAUSE)
attr = gen.lib.Attribute()
attr.set_type(gen.lib.AttributeType.CAUSE)
attr.set_value(tag)
self.event.add_attribute(attr)
def stop_gender(self, tag):
t = tag
if t == "M":
self.person.set_gender (RelLib.Person.MALE)
self.person.set_gender (gen.lib.Person.MALE)
elif t == "F":
self.person.set_gender (RelLib.Person.FEMALE)
self.person.set_gender (gen.lib.Person.FEMALE)
else:
self.person.set_gender (RelLib.Person.UNKNOWN)
self.person.set_gender (gen.lib.Person.UNKNOWN)
def stop_stitle(self, tag):
self.source.title = tag
@@ -1888,11 +1888,11 @@ class GrampsParser(UpdateCallback):
text = tag
# This is old XML. We no longer have "text" attribute in soure_ref.
# So we create a new note, commit, and add the handle to note list.
note = RelLib.Note()
note = gen.lib.Note()
note.handle = Utils.create_id()
note.private = self.source_ref.private
note.set(text)
note.type.set(RelLib.NoteType.SOURCE_TEXT)
note.type.set(gen.lib.NoteType.SOURCE_TEXT)
self.db.add_note(note, self.trans)
self.source_ref.add_note(note.handle)
@@ -1902,11 +1902,11 @@ class GrampsParser(UpdateCallback):
text = fix_spaces(self.scomments_list)
else:
text = tag
note = RelLib.Note()
note = gen.lib.Note()
note.handle = Utils.create_id()
note.private = self.source_ref.private
note.set(text)
note.type.set(RelLib.NoteType.SOURCEREF)
note.type.set(gen.lib.NoteType.SOURCEREF)
self.db.add_note(note, self.trans)
self.source_ref.add_note(note.handle)
@@ -1928,8 +1928,8 @@ class GrampsParser(UpdateCallback):
def stop_nick(self, tag):
if self.person:
attr = RelLib.Attribute()
attr.set_type(RelLib.AttributeType.NICKNAME)
attr = gen.lib.Attribute()
attr.set_type(gen.lib.AttributeType.NICKNAME)
attr.set_value(tag)
self.person.add_attribute(attr)
@@ -2020,7 +2020,7 @@ class GrampsParser(UpdateCallback):
def stop_aka(self, tag):
self.person.add_alternate_name(self.name)
if self.name.get_type() == "":
self.name.set_type(RelLib.NameType.AKA)
self.name.set_type(gen.lib.NameType.AKA)
self.name = None
def startElement(self, tag, attrs):

View File

@@ -35,7 +35,7 @@ import time
# GRAMPS modules
#
#-------------------------------------------------------------------------
import RelLib
import gen.lib
import const
import _GedcomInfo as GedcomInfo
import Errors
@@ -73,39 +73,39 @@ MONTH = [
"JUL", "AUG", "SEP", "OCT", "NOV", "DEC" ]
CALENDAR_MAP = {
RelLib.Date.CAL_HEBREW : (HMONTH, '@#DHEBREW@'),
RelLib.Date.CAL_FRENCH : (FMONTH, '@#DFRENCH R@'),
RelLib.Date.CAL_JULIAN : (MONTH, '@#DJULIAN@'),
gen.lib.Date.CAL_HEBREW : (HMONTH, '@#DHEBREW@'),
gen.lib.Date.CAL_FRENCH : (FMONTH, '@#DFRENCH R@'),
gen.lib.Date.CAL_JULIAN : (MONTH, '@#DJULIAN@'),
}
DATE_MODIFIER = {
RelLib.Date.MOD_ABOUT : "ABT",
RelLib.Date.MOD_BEFORE : "BEF",
RelLib.Date.MOD_AFTER : "AFT",
gen.lib.Date.MOD_ABOUT : "ABT",
gen.lib.Date.MOD_BEFORE : "BEF",
gen.lib.Date.MOD_AFTER : "AFT",
}
LDS_ORD_NAME = {
RelLib.LdsOrd.BAPTISM : 'BAPL',
RelLib.LdsOrd.ENDOWMENT : 'ENDL',
RelLib.LdsOrd.SEAL_TO_PARENTS : 'SLGC',
RelLib.LdsOrd.SEAL_TO_SPOUSE : 'SGLS',
RelLib.LdsOrd.CONFIRMATION : 'CONL',
gen.lib.LdsOrd.BAPTISM : 'BAPL',
gen.lib.LdsOrd.ENDOWMENT : 'ENDL',
gen.lib.LdsOrd.SEAL_TO_PARENTS : 'SLGC',
gen.lib.LdsOrd.SEAL_TO_SPOUSE : 'SGLS',
gen.lib.LdsOrd.CONFIRMATION : 'CONL',
}
LDS_STATUS = {
RelLib.LdsOrd.STATUS_BIC : "BIC",
RelLib.LdsOrd.STATUS_CANCELED : "CANCELED",
RelLib.LdsOrd.STATUS_CHILD : "CHILD",
RelLib.LdsOrd.STATUS_CLEARED : "CLEARED",
RelLib.LdsOrd.STATUS_COMPLETED : "COMPLETED",
RelLib.LdsOrd.STATUS_DNS : "DNS",
RelLib.LdsOrd.STATUS_INFANT : "INFANT",
RelLib.LdsOrd.STATUS_PRE_1970 : "PRE-1970",
RelLib.LdsOrd.STATUS_QUALIFIED : "QUALIFIED",
RelLib.LdsOrd.STATUS_DNS_CAN : "DNS/CAN",
RelLib.LdsOrd.STATUS_STILLBORN : "STILLBORN",
RelLib.LdsOrd.STATUS_SUBMITTED : "SUBMITTED" ,
RelLib.LdsOrd.STATUS_UNCLEARED : "UNCLEARED",
gen.lib.LdsOrd.STATUS_BIC : "BIC",
gen.lib.LdsOrd.STATUS_CANCELED : "CANCELED",
gen.lib.LdsOrd.STATUS_CHILD : "CHILD",
gen.lib.LdsOrd.STATUS_CLEARED : "CLEARED",
gen.lib.LdsOrd.STATUS_COMPLETED : "COMPLETED",
gen.lib.LdsOrd.STATUS_DNS : "DNS",
gen.lib.LdsOrd.STATUS_INFANT : "INFANT",
gen.lib.LdsOrd.STATUS_PRE_1970 : "PRE-1970",
gen.lib.LdsOrd.STATUS_QUALIFIED : "QUALIFIED",
gen.lib.LdsOrd.STATUS_DNS_CAN : "DNS/CAN",
gen.lib.LdsOrd.STATUS_STILLBORN : "STILLBORN",
gen.lib.LdsOrd.STATUS_SUBMITTED : "SUBMITTED" ,
gen.lib.LdsOrd.STATUS_UNCLEARED : "UNCLEARED",
}
LANGUAGES = {
@@ -134,10 +134,10 @@ MIME2GED = {
}
QUALITY_MAP = {
RelLib.SourceRef.CONF_VERY_HIGH : "3",
RelLib.SourceRef.CONF_HIGH : "2",
RelLib.SourceRef.CONF_LOW : "1",
RelLib.SourceRef.CONF_VERY_LOW : "0",
gen.lib.SourceRef.CONF_VERY_HIGH : "3",
gen.lib.SourceRef.CONF_HIGH : "2",
gen.lib.SourceRef.CONF_LOW : "1",
gen.lib.SourceRef.CONF_VERY_LOW : "0",
}
#-------------------------------------------------------------------------
@@ -566,7 +566,7 @@ class GedcomWriter(BasicUtils.UpdateCallback):
nicknames exist in the attribute list.
"""
nicknames = [ attr.get_value() for attr in person.get_attribute_list()
if int(attr.get_type()) == RelLib.AttributeType.NICKNAME ]
if int(attr.get_type()) == gen.lib.AttributeType.NICKNAME ]
if len(nicknames) > 0:
nickname = nicknames[0]
else:
@@ -582,9 +582,9 @@ class GedcomWriter(BasicUtils.UpdateCallback):
male or female, simply do not output anything. The only valid values are
M (male) or F (female). So if the geneder is unknown, we output nothing.
"""
if person.get_gender() == RelLib.Person.MALE:
if person.get_gender() == gen.lib.Person.MALE:
self.__writeln(1, "SEX", "M")
elif person.get_gender() == RelLib.Person.FEMALE:
elif person.get_gender() == gen.lib.Person.FEMALE:
self.__writeln(1, "SEX", "F")
def __lds_ords(self, obj, level):
@@ -606,7 +606,7 @@ class GedcomWriter(BasicUtils.UpdateCallback):
etype = int(event.get_type())
# if the event is a birth or death, skip it.
if etype in (RelLib.EventType.BIRTH, RelLib.EventType.DEATH):
if etype in (gen.lib.EventType.BIRTH, gen.lib.EventType.DEATH):
continue
val = GedcomInfo.personalConstantEvents.get(etype, "").strip()
@@ -654,8 +654,8 @@ class GedcomWriter(BasicUtils.UpdateCallback):
for fh in person.get_parent_family_handle_list() ]:
for child_ref in [ ref for ref in family.get_child_ref_list()
if ref.ref == person.handle ]:
if child_ref.mrel == RelLib.ChildRefType.ADOPTED \
or child_ref.frel == RelLib.ChildRefType.ADOPTED:
if child_ref.mrel == gen.lib.ChildRefType.ADOPTED \
or child_ref.frel == gen.lib.ChildRefType.ADOPTED:
adoptions.append((family, child_ref.frel, child_ref.mrel))
for (fam, frel, mrel) in adoptions:
@@ -663,7 +663,7 @@ class GedcomWriter(BasicUtils.UpdateCallback):
self.__writeln(2, 'FAMC', '@%s@' % fam.get_gramps_id())
if mrel == frel:
self.__writeln(3, 'ADOP', 'BOTH')
elif mrel == RelLib.ChildRefType.ADOPTED:
elif mrel == gen.lib.ChildRefType.ADOPTED:
self.__writeln(3, 'ADOP', 'WIFE')
else:
self.__writeln(3, 'ADOP', 'HUSB')
@@ -680,7 +680,7 @@ class GedcomWriter(BasicUtils.UpdateCallback):
# filter out the nicknames
attr_list = [ attr for attr in person.get_attribute_list()
if attr.get_type() != RelLib.AttributeType.NICKNAME ]
if attr.get_type() != gen.lib.AttributeType.NICKNAME ]
for attr in attr_list:
@@ -882,9 +882,9 @@ class GedcomWriter(BasicUtils.UpdateCallback):
else:
self.__writeln(1, val, 'Y')
if event.get_type() == RelLib.EventType.MARRIAGE:
if event.get_type() == gen.lib.EventType.MARRIAGE:
ftype = family.get_relationship()
if ftype != RelLib.FamilyRelType.MARRIED and str(ftype):
if ftype != gen.lib.FamilyRelType.MARRIED and str(ftype):
self.__writeln(2, 'TYPE', str(ftype))
self.__family_event_attrs(event.get_attribute_list(), 2)
@@ -908,10 +908,10 @@ class GedcomWriter(BasicUtils.UpdateCallback):
to WIFE/HUSB AGE attributes.
"""
for attr in attr_list:
if attr.get_type() == RelLib.AttributeType.FATHER_AGE:
if attr.get_type() == gen.lib.AttributeType.FATHER_AGE:
self.__writeln(level, 'HUSB')
self.__writeln(level+1, 'AGE', attr.get_value())
elif attr.get_type() == RelLib.AttributeType.MOTHER_AGE:
elif attr.get_type() == gen.lib.AttributeType.MOTHER_AGE:
self.__writeln(level, 'WIFE')
self.__writeln(level+1, 'AGE', attr.get_value())
@@ -1111,19 +1111,19 @@ class GedcomWriter(BasicUtils.UpdateCallback):
for attr in event.get_attribute_list():
attr_type = attr.get_type()
if attr_type == RelLib.AttributeType.CAUSE:
if attr_type == gen.lib.AttributeType.CAUSE:
self.__writeln(2, 'CAUS', attr.get_value())
elif attr_type == RelLib.AttributeType.AGENCY:
elif attr_type == gen.lib.AttributeType.AGENCY:
self.__writeln(2, 'AGNC', attr.get_value())
for attr in event_ref.get_attribute_list():
attr_type = attr.get_type()
if attr_type == RelLib.AttributeType.AGE:
if attr_type == gen.lib.AttributeType.AGE:
self.__writeln(2, 'AGE', attr.get_value())
elif attr_type == RelLib.AttributeType.FATHER_AGE:
elif attr_type == gen.lib.AttributeType.FATHER_AGE:
self.__writeln(2, 'HUSB')
self.__writeln(3, 'AGE', attr.get_value())
elif attr_type == RelLib.AttributeType.MOTHER_AGE:
elif attr_type == gen.lib.AttributeType.MOTHER_AGE:
self.__writeln(2, 'WIFE')
self.__writeln(3, 'AGE', attr.get_value())
@@ -1180,7 +1180,7 @@ class GedcomWriter(BasicUtils.UpdateCallback):
if lds_ord.get_place_handle():
self.__place(
self.dbase.get_place_from_handle(lds_ord.get_place_handle()), 2)
if lds_ord.get_status() != RelLib.LdsOrd.STATUS_NONE:
if lds_ord.get_status() != gen.lib.LdsOrd.STATUS_NONE:
self.__writeln(2, 'STAT', LDS_STATUS[lds_ord.get_status()])
self.__note_references(lds_ord.get_note_list(), index+1)
@@ -1192,14 +1192,14 @@ class GedcomWriter(BasicUtils.UpdateCallback):
expected formta.
"""
start = date.get_start_date()
if start != RelLib.Date.EMPTY:
if start != gen.lib.Date.EMPTY:
cal = date.get_calendar()
mod = date.get_modifier()
if date.get_modifier() == RelLib.Date.MOD_SPAN:
if date.get_modifier() == gen.lib.Date.MOD_SPAN:
val = "FROM %s TO %s" % (
make_date(start, cal, mod),
make_date(date.get_stop_date(), cal, mod))
elif date.get_modifier() == RelLib.Date.MOD_RANGE:
elif date.get_modifier() == gen.lib.Date.MOD_RANGE:
val = "BET %s AND %s" % (
make_date(start, cal, mod),
make_date(date.get_stop_date(), cal, mod))
@@ -1287,8 +1287,8 @@ class GedcomWriter(BasicUtils.UpdateCallback):
if ref.get_page() != "":
self.__writeln(level+1, 'PAGE', ref.get_page())
conf = min(ref.get_confidence_level(), RelLib.SourceRef.CONF_VERY_HIGH)
if conf != RelLib.SourceRef.CONF_NORMAL and conf != -1:
conf = min(ref.get_confidence_level(), gen.lib.SourceRef.CONF_VERY_HIGH)
if conf != gen.lib.SourceRef.CONF_NORMAL and conf != -1:
self.__writeln(level+1, "QUAY", QUALITY_MAP[conf])
if len(ref.get_note_list()) > 0:
@@ -1296,7 +1296,7 @@ class GedcomWriter(BasicUtils.UpdateCallback):
note_list = [ self.dbase.get_note_from_handle(h)
for h in ref.get_note_list() ]
note_list = [ n for n in note_list
if n.get_type() == RelLib.NoteType.SOURCE_TEXT]
if n.get_type() == gen.lib.NoteType.SOURCE_TEXT]
if note_list:
ref_text = note_list[0].get()
@@ -1312,7 +1312,7 @@ class GedcomWriter(BasicUtils.UpdateCallback):
note_list = [ self.dbase.get_note_from_handle(h)
for h in ref.get_note_list() ]
note_list = [ n.handle for n in note_list
if n.get_type() != RelLib.NoteType.SOURCE_TEXT]
if n.get_type() != gen.lib.NoteType.SOURCE_TEXT]
self.__note_references(note_list, level+1)
def __photo(self, photo, level):