8727: Gramps -L leaves all BSDDB type trees locked

Don't even open if locked.
This commit is contained in:
Doug Blank 2015-07-18 14:34:02 -04:00
parent 2fe71bfe4e
commit cf5d847c32

View File

@ -155,20 +155,23 @@ class CLIDbManager(object):
dbid_path = os.path.join(dirpath, "database.txt")
if os.path.isfile(dbid_path):
dbid = open(dbid_path).read().strip()
try:
database = self.dbstate.make_database(dbid)
database.load(dirpath, None)
retval = database.get_summary()
database.close()
except Exception as msg:
retval = {"Unavailable": str(msg)[:74] + "..."}
retval.update({
_("Family Tree"): name,
_("Path"): dirpath,
_("Database backend"): dbid,
_("Last accessed"): time_val(dirpath)[1],
_("Locked?"): self.is_locked(dirpath),
})
lock_path = os.path.join(dirpath, "lock")
if not os.path.isfile(lock_path):
try:
database = self.dbstate.make_database(dbid)
database.load(dirpath, None)
retval = database.get_summary()
database.close()
except Exception as msg:
retval = {_("Unavailable"): str(msg)[:74] + "..."}
else:
retval = {_("Locked?"): "True"}
retval.update({_("Family Tree"): name,
_("Path"): dirpath,
_("Database backend"): dbid,
_("Last accessed"): time_val(dirpath)[1],
_("Locked?"): self.is_locked(dirpath),
})
return retval
def family_tree_summary(self):