CLI: -l, -L, -t should match names with re patterns in them
This commit is contained in:
parent
8350859c0c
commit
8a6d766b06
@ -398,8 +398,10 @@ class ArgHandler(object):
|
||||
|
||||
for name, dirname in sorted(self.dbman.family_tree_list(),
|
||||
key=lambda pair: pair[0].lower()):
|
||||
if (self.database_names is None or
|
||||
any([re.match("^" + dbname + "$", name) for dbname in self.database_names])):
|
||||
if (self.database_names is None or
|
||||
any([(re.match("^" + dbname + "$", name) or
|
||||
dbname == name)
|
||||
for dbname in self.database_names])):
|
||||
print(_("%(full_DB_path)s with name \"%(f_t_name)s\"")
|
||||
% {'full_DB_path' : dirname, 'f_t_name' : name})
|
||||
return
|
||||
|
@ -182,8 +182,10 @@ class CLIDbManager(object):
|
||||
for item in self.current_names:
|
||||
(name, dirpath, path_name, last,
|
||||
tval, enable, stock_id, backend_type, version) = item
|
||||
if (database_names is None or
|
||||
any([re.match("^" + dbname + "$", name) for dbname in database_names])):
|
||||
if (database_names is None or
|
||||
any([(re.match("^" + dbname + "$", name) or
|
||||
dbname == name)
|
||||
for dbname in database_names])):
|
||||
summary = self.get_dbdir_summary(dirpath, name)
|
||||
print(_("Family Tree \"%s\":") % summary[_("Family Tree")])
|
||||
for item in sorted(summary):
|
||||
@ -202,8 +204,10 @@ class CLIDbManager(object):
|
||||
for item in self.current_names:
|
||||
(name, dirpath, path_name, last,
|
||||
tval, enable, stock_id, backend_type, version) = item
|
||||
if (database_names is None or
|
||||
any([re.match("^" + dbname + "$", name) for dbname in database_names])):
|
||||
if (database_names is None or
|
||||
any([(re.match("^" + dbname + "$", name) or
|
||||
dbname == name)
|
||||
for dbname in database_names])):
|
||||
retval = self.get_dbdir_summary(dirpath, name)
|
||||
summary_list.append( retval )
|
||||
return summary_list
|
||||
@ -243,7 +247,7 @@ class CLIDbManager(object):
|
||||
|
||||
if (stock_id == 'gramps-lock'):
|
||||
last = find_locker_name(dirpath)
|
||||
|
||||
|
||||
self.current_names.append(
|
||||
(name, os.path.join(dbdir, dpath), path_name,
|
||||
last, tval, enable, stock_id, backend_type, version))
|
||||
@ -398,7 +402,7 @@ class CLIDbManager(object):
|
||||
|
||||
def remove_database(self, dbname, user=None):
|
||||
"""
|
||||
Deletes a database folder given a pattenr that matches
|
||||
Deletes a database folder given a pattenr that matches
|
||||
its proper name.
|
||||
"""
|
||||
dbdir = os.path.expanduser(config.get('behavior.database-path'))
|
||||
@ -409,10 +413,10 @@ class CLIDbManager(object):
|
||||
if os.path.isfile(path_name):
|
||||
with open(path_name, 'r', encoding='utf8') as file:
|
||||
name = file.readline().strip()
|
||||
if re.match("^" + dbname + "$", name):
|
||||
if re.match("^" + dbname + "$", name) or dbname == name:
|
||||
match_list.append((name, dirpath))
|
||||
if len(match_list) == 0:
|
||||
CLIDbManager.ERROR("Family tree not found",
|
||||
CLIDbManager.ERROR("Family tree not found",
|
||||
"No matching family tree found: '%s'" % dbname)
|
||||
# now delete them:
|
||||
for (name, directory) in match_list:
|
||||
|
Loading…
Reference in New Issue
Block a user