bugfix: update aliases
This commit is contained in:
parent
4a179bfa12
commit
df66f82bd3
1 changed files with 16 additions and 7 deletions
|
@ -52,24 +52,29 @@ def update_project_data(db, uuid, prop, value = None):
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
def update_aliases(path, uuid, aliases):
|
def update_aliases(path: str, uuid: str, aliases: list[str]):
|
||||||
known_data = _project_lookup_by_id(path + "/backlogger.db", uuid)[0]
|
db = os.path.join(path, "backlogger.db")
|
||||||
|
known_data = _project_lookup_by_id(db, uuid)[0]
|
||||||
known_aliases = known_data[1]
|
known_aliases = known_data[1]
|
||||||
|
|
||||||
if aliases is None:
|
if aliases is None:
|
||||||
aliases = []
|
aliases = []
|
||||||
if known_aliases is None:
|
if known_aliases is None:
|
||||||
print(f"Project {uuid} is already imported, no known aliases.")
|
print(f"Project {uuid} has no known aliases.")
|
||||||
known_alias_list = []
|
known_alias_list = []
|
||||||
else:
|
else:
|
||||||
print(f"Project {uuid} is already imported, known by names: {known_aliases}")
|
print(f"Project {uuid} is known by names: {known_aliases}")
|
||||||
known_alias_list = str2list(known_aliases)
|
known_alias_list = str2list(known_aliases)
|
||||||
new_alias_list = known_alias_list
|
new_alias_list = known_alias_list.copy()
|
||||||
for aka in aliases:
|
for aka in aliases:
|
||||||
if aka not in known_alias_list:
|
if aka not in known_alias_list:
|
||||||
new_alias_list.append(aka)
|
new_alias_list.append(aka)
|
||||||
|
|
||||||
if not len(new_alias_list) == len(known_alias_list):
|
if not len(new_alias_list) == len(known_alias_list):
|
||||||
alias_str = list2str(new_alias_list)
|
alias_str = list2str(new_alias_list)
|
||||||
update_project_data(path, uuid, "aliases", alias_str)
|
dl.unlock(db, dataset=path)
|
||||||
|
update_project_data(db, uuid, "aliases", alias_str)
|
||||||
|
dl.save(db, dataset=path)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
@ -121,7 +126,11 @@ def import_project(path: str, url: str, owner: Union[str, None]=None, tags: Unio
|
||||||
dl.drop(tmp_path, reckless='kill')
|
dl.drop(tmp_path, reckless='kill')
|
||||||
shutil.rmtree(tmp_path)
|
shutil.rmtree(tmp_path)
|
||||||
if aliases is not None:
|
if aliases is not None:
|
||||||
update_aliases(path, uuid, aliases)
|
if isinstance(aliases, str):
|
||||||
|
alias_list = [aliases]
|
||||||
|
else:
|
||||||
|
alias_list = aliases
|
||||||
|
update_aliases(path, uuid, alias_list)
|
||||||
|
|
||||||
# make this more concrete
|
# make this more concrete
|
||||||
return uuid
|
return uuid
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue