ImportCSV: allow person, family, and marriage to reference places with place_id columns
This commit is contained in:
parent
aabb06ab11
commit
e5d564dbf0
@ -161,6 +161,9 @@ class CSVParser(object):
|
|||||||
"note": ("Note", _("Note"), "note", _("note")),
|
"note": ("Note", _("Note"), "note", _("note")),
|
||||||
"birthplace": ("Birthplace", "Birth place", _("Birth place"),
|
"birthplace": ("Birthplace", "Birth place", _("Birth place"),
|
||||||
"birthplace", "birth_place", "birth place", _("birth place")),
|
"birthplace", "birth_place", "birth place", _("birth place")),
|
||||||
|
"birthplace_id": ("Birthplaceid", "Birth place id", _("Birth place id"),
|
||||||
|
"birthplaceid", "birth_place_id", "birth place id", _("birth place id"),
|
||||||
|
"birthplace_id"),
|
||||||
"birthdate": ("Birthdate", "Birth date", _("Birth date"),
|
"birthdate": ("Birthdate", "Birth date", _("Birth date"),
|
||||||
"birthdate", "birth_date", "birth date", _("birth date")),
|
"birthdate", "birth_date", "birth date", _("birth date")),
|
||||||
"birthsource": ("Birthsource", "Birth source", _("Birth source"),
|
"birthsource": ("Birthsource", "Birth source", _("Birth source"),
|
||||||
@ -169,6 +172,10 @@ class CSVParser(object):
|
|||||||
"baptismplace": ("Baptismplace", "Baptism place",
|
"baptismplace": ("Baptismplace", "Baptism place",
|
||||||
_("Baptism place"), "baptismplace", "baptism place",
|
_("Baptism place"), "baptismplace", "baptism place",
|
||||||
_("baptism place")),
|
_("baptism place")),
|
||||||
|
"baptismplace_id": ("Baptismplaceid", "Baptism place id",
|
||||||
|
_("Baptism place id"), "baptismplaceid", "baptism place id",
|
||||||
|
_("baptism place id"), "baptism_place_id",
|
||||||
|
"baptismplace_id"),
|
||||||
"baptismdate": ("Baptismdate", "Baptism date", _("Baptism date"),
|
"baptismdate": ("Baptismdate", "Baptism date", _("Baptism date"),
|
||||||
"baptismdate", "baptism date", _("baptism date")),
|
"baptismdate", "baptism date", _("baptism date")),
|
||||||
"baptismsource": ("Baptismsource", "Baptism source",
|
"baptismsource": ("Baptismsource", "Baptism source",
|
||||||
@ -176,6 +183,9 @@ class CSVParser(object):
|
|||||||
_("baptism source")),
|
_("baptism source")),
|
||||||
"burialplace": ("Burialplace", "Burial place", _("Burial place"),
|
"burialplace": ("Burialplace", "Burial place", _("Burial place"),
|
||||||
"burialplace", "burial place", _("burial place")),
|
"burialplace", "burial place", _("burial place")),
|
||||||
|
"burialplace_id": ("Burialplaceid", "Burial place id", _("Burial place id"),
|
||||||
|
"burialplaceid", "burial place id", _("burial place id"),
|
||||||
|
"burial_place_id", "burialplace_id"),
|
||||||
"burialdate": ("Burialdate", "Burial date", _("Burial date"),
|
"burialdate": ("Burialdate", "Burial date", _("Burial date"),
|
||||||
"burialdate", "burial date", _("burial date")),
|
"burialdate", "burial date", _("burial date")),
|
||||||
"burialsource": ("Burialsource", "Burial source",
|
"burialsource": ("Burialsource", "Burial source",
|
||||||
@ -183,6 +193,9 @@ class CSVParser(object):
|
|||||||
_("burial source")),
|
_("burial source")),
|
||||||
"deathplace": ("Deathplace", "Death place", _("Death place"),
|
"deathplace": ("Deathplace", "Death place", _("Death place"),
|
||||||
"deathplace", "death_place", "death place", _("death place")),
|
"deathplace", "death_place", "death place", _("death place")),
|
||||||
|
"deathplace_id": ("Deathplaceid", "Death place id", _("Death place id"),
|
||||||
|
"deathplaceid", "death_place_id", "death place id", _("death place id"),
|
||||||
|
"death_place_id", "deathplace_id"),
|
||||||
"deathdate": ("Deathdate", "Death date", _("Death date"),
|
"deathdate": ("Deathdate", "Death date", _("Death date"),
|
||||||
"deathdate", "death_date", "death date", _("death date")),
|
"deathdate", "death_date", "death date", _("death date")),
|
||||||
"deathsource": ("Deathsource", "Death source", _("Death source"),
|
"deathsource": ("Deathsource", "Death source", _("Death source"),
|
||||||
@ -206,6 +219,7 @@ class CSVParser(object):
|
|||||||
"marriage": ("Marriage", _("Marriage"), "marriage", _("marriage")),
|
"marriage": ("Marriage", _("Marriage"), "marriage", _("marriage")),
|
||||||
"date": ("Date", _("Date"), "date", _("date")),
|
"date": ("Date", _("Date"), "date", _("date")),
|
||||||
"place": ("Place", _("Place"), "place", _("place")),
|
"place": ("Place", _("Place"), "place", _("place")),
|
||||||
|
"place_id": ("Placeid", "place id", "Place id", "place_id", "placeid"),
|
||||||
"name": ("Name", _("Name"), "name", _("name")),
|
"name": ("Name", _("Name"), "name", _("name")),
|
||||||
"type": ("Type", _("Type"), "type", _("type")),
|
"type": ("Type", _("Type"), "type", _("type")),
|
||||||
"latitude": ("Latitude", _("latitude"), "latitude", _("latitude")),
|
"latitude": ("Latitude", _("latitude"), "latitude", _("latitude")),
|
||||||
@ -384,10 +398,12 @@ class CSVParser(object):
|
|||||||
def _parse_marriage(self, line_number, row, col):
|
def _parse_marriage(self, line_number, row, col):
|
||||||
"Parse the content of a Marriage,Husband,Wife line."
|
"Parse the content of a Marriage,Husband,Wife line."
|
||||||
marriage_ref = rd(line_number, row, col, "marriage")
|
marriage_ref = rd(line_number, row, col, "marriage")
|
||||||
|
import pdb; pdb.set_trace()
|
||||||
husband = rd(line_number, row, col, "husband")
|
husband = rd(line_number, row, col, "husband")
|
||||||
wife = rd(line_number, row, col, "wife")
|
wife = rd(line_number, row, col, "wife")
|
||||||
marriagedate = rd(line_number, row, col, "date")
|
marriagedate = rd(line_number, row, col, "date")
|
||||||
marriageplace = rd(line_number, row, col, "place")
|
marriageplace = rd(line_number, row, col, "place")
|
||||||
|
marriageplace_id = rd(line_number, row, col, "place_id")
|
||||||
marriagesource = rd(line_number, row, col, "source")
|
marriagesource = rd(line_number, row, col, "source")
|
||||||
note = rd(line_number, row, col, "note")
|
note = rd(line_number, row, col, "note")
|
||||||
wife = self.lookup("person", wife)
|
wife = self.lookup("person", wife)
|
||||||
@ -413,9 +429,14 @@ class CSVParser(object):
|
|||||||
if marriagesource:
|
if marriagesource:
|
||||||
# add, if new
|
# add, if new
|
||||||
new, marriagesource = self.get_or_create_source(marriagesource)
|
new, marriagesource = self.get_or_create_source(marriagesource)
|
||||||
|
if marriageplace and marriageplace_id:
|
||||||
|
raise Error("Error in marriage: can't have a place and place_id")
|
||||||
if marriageplace:
|
if marriageplace:
|
||||||
# add, if new
|
# add, if new
|
||||||
new, marriageplace = self.get_or_create_place(marriageplace)
|
new, marriageplace = self.get_or_create_place(marriageplace)
|
||||||
|
elif marriageplace_id:
|
||||||
|
# better exist already, locally or in database:
|
||||||
|
marriageplace = self.lookup("place", marriageplace_id)
|
||||||
if marriagedate:
|
if marriagedate:
|
||||||
marriagedate = _dp.parse(marriagedate)
|
marriagedate = _dp.parse(marriagedate)
|
||||||
if marriagedate or marriageplace or marriagesource or note:
|
if marriagedate or marriageplace or marriagesource or note:
|
||||||
@ -544,15 +565,19 @@ class CSVParser(object):
|
|||||||
source = rd(line_number, row, col, "source")
|
source = rd(line_number, row, col, "source")
|
||||||
note = rd(line_number, row, col, "note")
|
note = rd(line_number, row, col, "note")
|
||||||
birthplace = rd(line_number, row, col, "birthplace")
|
birthplace = rd(line_number, row, col, "birthplace")
|
||||||
|
birthplace_id = rd(line_number, row, col, "birthplace_id")
|
||||||
birthdate = rd(line_number, row, col, "birthdate")
|
birthdate = rd(line_number, row, col, "birthdate")
|
||||||
birthsource = rd(line_number, row, col, "birthsource")
|
birthsource = rd(line_number, row, col, "birthsource")
|
||||||
baptismplace = rd(line_number, row, col, "baptismplace")
|
baptismplace = rd(line_number, row, col, "baptismplace")
|
||||||
|
baptismplace_id = rd(line_number, row, col, "baptismplace_id")
|
||||||
baptismdate = rd(line_number, row, col, "baptismdate")
|
baptismdate = rd(line_number, row, col, "baptismdate")
|
||||||
baptismsource = rd(line_number, row, col, "baptismsource")
|
baptismsource = rd(line_number, row, col, "baptismsource")
|
||||||
burialplace = rd(line_number, row, col, "burialplace")
|
burialplace = rd(line_number, row, col, "burialplace")
|
||||||
|
burialplace_id = rd(line_number, row, col, "burialplace_id")
|
||||||
burialdate = rd(line_number, row, col, "burialdate")
|
burialdate = rd(line_number, row, col, "burialdate")
|
||||||
burialsource = rd(line_number, row, col, "burialsource")
|
burialsource = rd(line_number, row, col, "burialsource")
|
||||||
deathplace = rd(line_number, row, col, "deathplace")
|
deathplace = rd(line_number, row, col, "deathplace")
|
||||||
|
deathplace_id = rd(line_number, row, col, "deathplace_id")
|
||||||
deathdate = rd(line_number, row, col, "deathdate")
|
deathdate = rd(line_number, row, col, "deathdate")
|
||||||
deathsource = rd(line_number, row, col, "deathsource")
|
deathsource = rd(line_number, row, col, "deathsource")
|
||||||
deathcause = rd(line_number, row, col, "deathcause")
|
deathcause = rd(line_number, row, col, "deathcause")
|
||||||
@ -638,8 +663,13 @@ class CSVParser(object):
|
|||||||
# Birth:
|
# Birth:
|
||||||
if birthdate is not None:
|
if birthdate is not None:
|
||||||
birthdate = _dp.parse(birthdate)
|
birthdate = _dp.parse(birthdate)
|
||||||
|
if birthplace and birthplace_id:
|
||||||
|
raise Error("Error in person: can't have a birthplace and birthplace_id")
|
||||||
if birthplace is not None:
|
if birthplace is not None:
|
||||||
new, birthplace = self.get_or_create_place(birthplace)
|
new, birthplace = self.get_or_create_place(birthplace)
|
||||||
|
elif birthplace_id:
|
||||||
|
# better exist already, locally or in database:
|
||||||
|
birthplace = self.lookup("place", birthplace_id)
|
||||||
if birthsource is not None:
|
if birthsource is not None:
|
||||||
new, birthsource = self.get_or_create_source(birthsource)
|
new, birthsource = self.get_or_create_source(birthsource)
|
||||||
if birthdate or birthplace or birthsource:
|
if birthdate or birthplace or birthsource:
|
||||||
@ -655,8 +685,13 @@ class CSVParser(object):
|
|||||||
# Baptism:
|
# Baptism:
|
||||||
if baptismdate is not None:
|
if baptismdate is not None:
|
||||||
baptismdate = _dp.parse(baptismdate)
|
baptismdate = _dp.parse(baptismdate)
|
||||||
|
if baptismplace and baptismplace_id:
|
||||||
|
raise Error("Error in person: can't have a baptismplace and baptismplace_id")
|
||||||
if baptismplace is not None:
|
if baptismplace is not None:
|
||||||
new, baptismplace = self.get_or_create_place(baptismplace)
|
new, baptismplace = self.get_or_create_place(baptismplace)
|
||||||
|
elif baptismplace_id:
|
||||||
|
# better exist already, locally or in database:
|
||||||
|
baptismplace = self.lookup("place", baptismplace_id)
|
||||||
if baptismsource is not None:
|
if baptismsource is not None:
|
||||||
new, baptismsource = self.get_or_create_source(baptismsource)
|
new, baptismsource = self.get_or_create_source(baptismsource)
|
||||||
if baptismdate or baptismplace or baptismsource:
|
if baptismdate or baptismplace or baptismsource:
|
||||||
@ -673,8 +708,13 @@ class CSVParser(object):
|
|||||||
# Death:
|
# Death:
|
||||||
if deathdate is not None:
|
if deathdate is not None:
|
||||||
deathdate = _dp.parse(deathdate)
|
deathdate = _dp.parse(deathdate)
|
||||||
|
if deathplace and deathplace_id:
|
||||||
|
raise Error("Error in person: can't have a deathplace and deathplace_id")
|
||||||
if deathplace is not None:
|
if deathplace is not None:
|
||||||
new, deathplace = self.get_or_create_place(deathplace)
|
new, deathplace = self.get_or_create_place(deathplace)
|
||||||
|
elif deathplace_id:
|
||||||
|
# better exist already, locally or in database:
|
||||||
|
deathplace = self.lookup("place", deathplace_id)
|
||||||
if deathsource is not None:
|
if deathsource is not None:
|
||||||
new, deathsource = self.get_or_create_source(deathsource)
|
new, deathsource = self.get_or_create_source(deathsource)
|
||||||
if deathdate or deathplace or deathsource or deathcause:
|
if deathdate or deathplace or deathsource or deathcause:
|
||||||
@ -693,8 +733,13 @@ class CSVParser(object):
|
|||||||
# Burial:
|
# Burial:
|
||||||
if burialdate is not None:
|
if burialdate is not None:
|
||||||
burialdate = _dp.parse(burialdate)
|
burialdate = _dp.parse(burialdate)
|
||||||
|
if burialplace and burialplace_id:
|
||||||
|
raise Error("Error in person: can't have a burialplace and burialplace_id")
|
||||||
if burialplace is not None:
|
if burialplace is not None:
|
||||||
new, burialplace = self.get_or_create_place(burialplace)
|
new, burialplace = self.get_or_create_place(burialplace)
|
||||||
|
elif burialplace_id:
|
||||||
|
# better exist already, locally or in database:
|
||||||
|
burialplace = self.lookup("place", burialplace_id)
|
||||||
if burialsource is not None:
|
if burialsource is not None:
|
||||||
new, burialsource = self.get_or_create_source(burialsource)
|
new, burialsource = self.get_or_create_source(burialsource)
|
||||||
if burialdate or burialplace or burialsource:
|
if burialdate or burialplace or burialsource:
|
||||||
|
Loading…
Reference in New Issue
Block a user