diff --git a/gramps/cli/clidbman.py b/gramps/cli/clidbman.py index b6c3b410c..f9a5a06c8 100644 --- a/gramps/cli/clidbman.py +++ b/gramps/cli/clidbman.py @@ -171,12 +171,19 @@ class CLIDbManager: retval = {_("Unavailable"): "locked"} retval.update({_("Family Tree"): name, _("Path"): dirpath, - _("Database"): dbid, + _("Database"): self.get_backend_name_from_dbid(dbid), _("Last accessed"): time_val(dirpath)[1], _("Locked?"): self.is_locked(dirpath), }) return retval + def get_backend_name_from_dbid(self, dbid): + pmgr = BasePluginManager.get_instance() + for plugin in pmgr.get_reg_databases(): + if plugin.id == dbid: + return plugin._name + return _("Unknown") + def print_family_tree_summaries(self, database_names=None): """ Prints a detailed list of the known family trees. diff --git a/gramps/gen/db/generic.py b/gramps/gen/db/generic.py index 48681f4f1..f28f07db2 100644 --- a/gramps/gen/db/generic.py +++ b/gramps/gen/db/generic.py @@ -2466,7 +2466,7 @@ class DbGeneric(DbWriteBase, DbReadBase, UpdateCallback, Callback): _("Number of repositories"): self.get_number_of_repositories(), _("Number of notes"): self.get_number_of_notes(), _("Number of tags"): self.get_number_of_tags(), - _("Data version"): ".".join([str(v) for v in self.VERSION]), + _("Schema version"): ".".join([str(v) for v in self.VERSION]), } def _order_by_person_key(self, person): diff --git a/gramps/gui/dbman.py b/gramps/gui/dbman.py index 3f612cefd..9657770ca 100644 --- a/gramps/gui/dbman.py +++ b/gramps/gui/dbman.py @@ -981,13 +981,6 @@ class DbManager(CLIDbManager, ManagedWindow): parent=self.top) self.new_btn.set_sensitive(True) - def get_backend_name_from_dbid(self, dbid): - pmgr = GuiPluginManager.get_instance() - for plugin in pmgr.get_reg_databases(): - if plugin.id == dbid: - return plugin._name - return _("Unknown") - def _create_new_db(self, title=None, create_db=True, dbid=None, edit_entry=True): """ diff --git a/gramps/plugins/db/bsddb/write.py b/gramps/plugins/db/bsddb/write.py index ac4c999e5..3e1eee3a1 100644 --- a/gramps/plugins/db/bsddb/write.py +++ b/gramps/plugins/db/bsddb/write.py @@ -2290,7 +2290,6 @@ class DbBsddb(DbBsddbRead, DbWriteBase, UpdateCallback): else: bsddb_version = _("Unknown") return { - _("DB-API version"): "n/a", _("Number of people"): self.get_number_of_people(), _("Number of families"): self.get_number_of_families(), _("Number of sources"): self.get_number_of_sources(), @@ -2301,8 +2300,8 @@ class DbBsddb(DbBsddbRead, DbWriteBase, UpdateCallback): _("Number of repositories"): self.get_number_of_repositories(), _("Number of notes"): self.get_number_of_notes(), _("Number of tags"): self.get_number_of_tags(), - _("Data version"): schema_version, - _("Database db version"): bsddb_version, + _("Schema version"): schema_version, + _("Database version"): bsddb_version, } def _mkname(path, name): diff --git a/gramps/plugins/db/dbapi/dbapi.py b/gramps/plugins/db/dbapi/dbapi.py index d0730944c..4fbc195f8 100644 --- a/gramps/plugins/db/dbapi/dbapi.py +++ b/gramps/plugins/db/dbapi/dbapi.py @@ -958,16 +958,3 @@ class DBAPI(DbGeneric): in the appropriate type. """ return [v if not isinstance(v, bool) else int(v) for v in values] - - def get_summary(self): - """ - Returns dictionary of summary item. - Should include, if possible: - - _("Number of people") - _("Version") - _("Schema version") - """ - summary = super().get_summary() - summary.update(self.dbapi.__class__.get_summary()) - return summary diff --git a/gramps/plugins/db/dbapi/postgresql.py b/gramps/plugins/db/dbapi/postgresql.py index af4888c07..10d8e2620 100644 --- a/gramps/plugins/db/dbapi/postgresql.py +++ b/gramps/plugins/db/dbapi/postgresql.py @@ -41,6 +41,7 @@ from gramps.plugins.db.dbapi.dbapi import DBAPI from gramps.gen.utils.configmanager import ConfigManager from gramps.gen.db.dbconst import ARRAYSIZE from gramps.gen.const import GRAMPS_LOCALE as glocale +_ = glocale.translation.gettext psycopg2.paramstyle = 'format' @@ -51,6 +52,18 @@ psycopg2.paramstyle = 'format' #------------------------------------------------------------------------- class PostgreSQL(DBAPI): + def get_summary(self): + """ + Return a diction of information about this database + backend. + """ + summary = super().get_summary() + summary.update({ + _("Database version"): psycopg2.__version__, + _("Database module location"): psycopg2.__file__, + }) + return summary + def _initialize(self, directory): config_file = os.path.join(directory, 'settings.ini') config_mgr = ConfigManager(config_file) @@ -74,20 +87,6 @@ class PostgreSQL(DBAPI): # #------------------------------------------------------------------------- class Connection: - @classmethod - def get_summary(cls): - """ - Return a diction of information about this database - backend. - """ - summary = { - "DB-API version": "2.0", - "Database SQL type": cls.__name__, - "Database SQL module": "psycopg2", - "Database SQL module version": psycopg2.__version__, - "Database SQL module location": psycopg2.__file__, - } - return summary def __init__(self, *args, **kwargs): self.__connection = psycopg2.connect(*args, **kwargs) diff --git a/gramps/plugins/db/dbapi/sqlite.py b/gramps/plugins/db/dbapi/sqlite.py index 15280d61d..26a6ecfef 100644 --- a/gramps/plugins/db/dbapi/sqlite.py +++ b/gramps/plugins/db/dbapi/sqlite.py @@ -41,6 +41,7 @@ import logging from gramps.plugins.db.dbapi.dbapi import DBAPI from gramps.gen.db.dbconst import ARRAYSIZE from gramps.gen.const import GRAMPS_LOCALE as glocale +_ = glocale.translation.gettext sqlite3.paramstyle = 'qmark' @@ -51,6 +52,18 @@ sqlite3.paramstyle = 'qmark' #------------------------------------------------------------------------- class SQLite(DBAPI): + def get_summary(self): + """ + Return a dictionary of information about this database backend. + """ + summary = super().get_summary() + summary.update({ + _("Database version"): sqlite3.sqlite_version, + _("Database module version"): sqlite3.version, + _("Database module location"): sqlite3.__file__, + }) + return summary + def _initialize(self, directory): if directory == ':memory:': path_to_db = ':memory:' @@ -69,20 +82,6 @@ class Connection: The Sqlite class is an interface between the DBAPI class which is the Gramps backend for the DBAPI interface and the sqlite3 python module. """ - @classmethod - def get_summary(cls): - """ - Return a dictionary of information about this database backend. - """ - summary = { - "DB-API version": "2.0", - "Database SQL type": cls.__name__, - "Database SQL module": "sqlite3", - "Database SQL Python module version": sqlite3.version, - "Database SQL module version": sqlite3.sqlite_version, - "Database SQL module location": sqlite3.__file__, - } - return summary def __init__(self, *args, **kwargs): """