readonly DB fixes, GEDCOM parsing fixes

svn: r4459
This commit is contained in:
Don Allingham 2005-05-02 22:27:12 +00:00
parent 893168feb6
commit 5ff894307d
3 changed files with 13 additions and 8 deletions

View File

@ -1,4 +1,8 @@
2005-05-02 <dona@gramps-project.org>
* src/GrampsBSDDB.py: handle missing version number properly, detect
empty database properly.
* src/ReadGedcom.py: set default gedcom parser class to "GEDCOM 5.5"
instead of None
* src/AddSpouse.py: fix filtering of lists using GenericFilters
* src/ChooseParents.py: fix filtering of lists using GenericFilters
* src/GenericFilter.py: fix date comparison

View File

@ -112,7 +112,7 @@ class GrampsBSDDB(GrampsDbBase):
return GrampsBSDDBCursor(self.media_map)
def need_upgrade(self):
return self.metadata['version'] < _DBVERSION
return not self.readonly and self.metadata.get('version',0) < _DBVERSION
def load(self,name,callback,mode="w"):
if self.person_map:
@ -190,10 +190,11 @@ class GrampsBSDDB(GrampsDbBase):
gstats = self.metadata.get('gender_stats')
if not self.readonly and gstats == None:
self.metadata['version'] = _DBVERSION
elif not self.metadata.has_key('version'):
self.metadata['version'] = 0
if not self.readonly:
if gstats == None:
self.metadata['version'] = _DBVERSION
elif not self.metadata.has_key('version'):
self.metadata['version'] = 0
if self.bookmarks == None:
self.bookmarks = []
@ -207,7 +208,7 @@ class GrampsBSDDB(GrampsDbBase):
self.close()
def close(self):
if not self.person_map:
if self.person_map == None:
return
self.name_group.close()
self.person_map.close()
@ -386,7 +387,7 @@ class GrampsBSDDB(GrampsDbBase):
"None", "Birth", "Adopted", "Stepchild",
"Sponsored", "Foster", "Unknown", "Other", ]
version = self.metadata['version']
version = self.metadata.get('version',0)
if version < 2:
self.upgrade_2(child_rel_notrans)
if version < 3:

View File

@ -262,7 +262,7 @@ class GedcomParser:
self.refn = {}
self.added = {}
self.gedmap = GedcomInfoDB()
self.gedsource = None
self.gedsource = self.gedmap.get_from_source_tag('GEDCOM 5.5')
self.def_src = RelLib.Source()
fname = os.path.basename(filename).split('\\')[-1]
self.def_src.set_title(_("Import from %s") % unicode(fname))