From 8bedb03d1d2339c45f488df06e2bfa20be3f920d Mon Sep 17 00:00:00 2001 From: Doug Blank Date: Thu, 6 Aug 2015 13:22:44 -0400 Subject: [PATCH] 6767: WIP, allow opening of database without using filesystem --- gramps/gen/db/generic.py | 5 ++++- gramps/gen/merge/diff.py | 1 + gramps/plugins/database/dictionarydb.py | 7 ++++--- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/gramps/gen/db/generic.py b/gramps/gen/db/generic.py index 3d6183928..2dde6aa71 100644 --- a/gramps/gen/db/generic.py +++ b/gramps/gen/db/generic.py @@ -765,7 +765,10 @@ class DbGeneric(DbWriteBase, DbReadBase, UpdateCallback, Callback): self.surname_list = self.get_surname_list() self.set_save_path(directory) - self.undolog = os.path.join(self._directory, DBUNDOFN) + if self._directory: + self.undolog = os.path.join(self._directory, DBUNDOFN) + else: + self.undolog = None self.undodb = DbGenericUndo(self, self.undolog) self.undodb.open() diff --git a/gramps/gen/merge/diff.py b/gramps/gen/merge/diff.py index 0993638c3..eaeac1439 100644 --- a/gramps/gen/merge/diff.py +++ b/gramps/gen/merge/diff.py @@ -176,6 +176,7 @@ def import_as_dict(filename, user=None): if user is None: user = User() db = DictionaryDb() + db.load(None) db.set_feature("skip-import-additions", True) dbstate = DbState() climanager = CLIManager(dbstate, setloader=False, user=user) diff --git a/gramps/plugins/database/dictionarydb.py b/gramps/plugins/database/dictionarydb.py index a1c349c1f..1d5963b00 100644 --- a/gramps/plugins/database/dictionarydb.py +++ b/gramps/plugins/database/dictionarydb.py @@ -970,6 +970,7 @@ class DictionaryDb(DbGeneric): # Dictionary-specific load: from gramps.plugins.importer.importxml import importData from gramps.cli.user import User - filename = os.path.join(self._directory, "data.gramps") - if os.path.isfile(filename): - importData(self, filename, User()) + if self._directory: + filename = os.path.join(self._directory, "data.gramps") + if os.path.isfile(filename): + importData(self, filename, User())