From 5ff894307dc3759136fec0e3b585dc0bf5f44cd7 Mon Sep 17 00:00:00 2001 From: Don Allingham Date: Mon, 2 May 2005 22:27:12 +0000 Subject: [PATCH] readonly DB fixes, GEDCOM parsing fixes svn: r4459 --- gramps2/ChangeLog | 4 ++++ gramps2/src/GrampsBSDDB.py | 15 ++++++++------- gramps2/src/ReadGedcom.py | 2 +- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/gramps2/ChangeLog b/gramps2/ChangeLog index ae1fb50af..45e3c6d90 100644 --- a/gramps2/ChangeLog +++ b/gramps2/ChangeLog @@ -1,4 +1,8 @@ 2005-05-02 + * 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 diff --git a/gramps2/src/GrampsBSDDB.py b/gramps2/src/GrampsBSDDB.py index 14ac07473..0b7add648 100644 --- a/gramps2/src/GrampsBSDDB.py +++ b/gramps2/src/GrampsBSDDB.py @@ -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: diff --git a/gramps2/src/ReadGedcom.py b/gramps2/src/ReadGedcom.py index ef686bb6d..e5a7fd788 100644 --- a/gramps2/src/ReadGedcom.py +++ b/gramps2/src/ReadGedcom.py @@ -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))