add thin wrapper for getting files

This commit is contained in:
Justus Kuhlmann 2025-11-27 15:25:54 +01:00
commit 0f499f080a
Signed by: jkuhl
GPG key ID: 00ED992DD79B85A6
4 changed files with 27 additions and 20 deletions

View file

@ -5,7 +5,7 @@ import os
from .git_tools import move_submodule
import shutil
from .find import _project_lookup_by_id
from .tools import list2str, str2list
from .tools import list2str, str2list, get_file
from typing import Union
@ -25,7 +25,7 @@ def create_project(path: str, uuid: str, owner: Union[str, None]=None, tags: Uni
The code that was used to create the measurements.
"""
db = path + "/backlogger.db"
dl.get(db, dataset=path)
get_file(path, "backlogger.db")
conn = sqlite3.connect(db)
c = conn.cursor()
known_projects = c.execute("SELECT * FROM projects WHERE id=?", (uuid,))
@ -45,9 +45,9 @@ def create_project(path: str, uuid: str, owner: Union[str, None]=None, tags: Uni
dl.save(db, message="Added entry for project " + uuid + " to database", dataset=path)
def update_project_data(path, db, uuid, prop, value = None):
dl.get(db, dataset=path)
conn = sqlite3.connect(db)
def update_project_data(path, uuid, prop, value = None):
get_file(path, "backlogger.db")
conn = sqlite3.connect(os.path.join(path, "backlogger.db"))
c = conn.cursor()
c.execute(f"UPDATE projects SET '{prop}' = '{value}' WHERE id == '{uuid}'")
conn.commit()
@ -57,7 +57,7 @@ def update_project_data(path, db, uuid, prop, value = None):
def update_aliases(path: str, uuid: str, aliases: list[str]):
db = os.path.join(path, "backlogger.db")
dl.get(db, dataset=path)
get_file(path, "backlogger.db")
known_data = _project_lookup_by_id(db, uuid)[0]
known_aliases = known_data[1]
@ -77,7 +77,7 @@ def update_aliases(path: str, uuid: str, aliases: list[str]):
if not len(new_alias_list) == len(known_alias_list):
alias_str = list2str(new_alias_list)
dl.unlock(db, dataset=path)
update_project_data(db, uuid, "aliases", alias_str)
update_project_data(path, uuid, "aliases", alias_str)
dl.save(db, dataset=path)
return
@ -122,7 +122,7 @@ def import_project(path: str, url: str, owner: Union[str, None]=None, tags: Unio
raise ValueError("The dataset does not have a uuid!")
if not os.path.exists(path + "/projects/" + uuid):
db = path + "/backlogger.db"
dl.get(db, ds=path)
get_file(path, "backlogger.db")
dl.unlock(db, dataset=path)
create_project(path, uuid, owner, tags, aliases, code)
move_submodule(path, 'projects/tmp', 'projects/' + uuid)