refactor/data_backend #12

Merged
jkuhl merged 36 commits from refactor/data_backend into develop 2025-12-04 15:47:45 +01:00
4 changed files with 14 additions and 11 deletions
Showing only changes of commit d104d994f8 - Show all commits

correct typing errors
Some checks failed
Mypy / mypy (push) Failing after 45s
Pytest / pytest (3.12) (push) Failing after 48s
Pytest / pytest (3.14) (push) Failing after 45s
Ruff / ruff (push) Failing after 33s
Pytest / pytest (3.13) (push) Failing after 48s

Justus Kuhlmann 2025-12-04 11:49:52 +01:00
Signed by: jkuhl
GPG key ID: 00ED992DD79B85A6

View file

@ -6,7 +6,7 @@ from .git_tools import move_submodule
import shutil
from .find import _project_lookup_by_id
from .tools import list2str, str2list
from .tracker import get_file
from .tracker import get
from typing import Union, Optional
@ -26,7 +26,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"
get_file(path, "backlogger.db")
get(path, "backlogger.db")
conn = sqlite3.connect(db)
c = conn.cursor()
known_projects = c.execute("SELECT * FROM projects WHERE id=?", (uuid,))
@ -47,7 +47,7 @@ def create_project(path: str, uuid: str, owner: Union[str, None]=None, tags: Uni
def update_project_data(path: str, uuid: str, prop: str, value: Union[str, None] = None) -> None:
get_file(path, "backlogger.db")
get(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}'")
@ -58,7 +58,7 @@ def update_project_data(path: str, uuid: str, prop: str, value: Union[str, None]
def update_aliases(path: str, uuid: str, aliases: list[str]) -> None:
db = os.path.join(path, "backlogger.db")
get_file(path, "backlogger.db")
get(path, "backlogger.db")
known_data = _project_lookup_by_id(db, uuid)[0]
known_aliases = known_data[1]
@ -123,7 +123,7 @@ def import_project(path: str, url: str, owner: Union[str, None]=None, tags: Opti
raise ValueError("The dataset does not have a uuid!")
if not os.path.exists(path + "/projects/" + uuid):
db = path + "/backlogger.db"
get_file(path, "backlogger.db")
get(path, "backlogger.db")
dl.unlock(db, dataset=path)
create_project(path, uuid, owner, tags, aliases, code)
move_submodule(path, 'projects/tmp', 'projects/' + uuid)

View file

@ -1,5 +1,6 @@
import os
from configparser import ConfigParser
from typing import Any
def str2list(string: str) -> list[str]:
@ -19,7 +20,7 @@ def k2m(k: float) -> float:
return (1/(2*k))-4
def set_config(path, section, option, value):
def set_config(path: str, section: str, option: str, value: Any) -> None:
config_path = os.path.join(path, '.corrlib')
config = ConfigParser()
if os.path.exists(config_path):

View file

@ -15,7 +15,7 @@ def get_tracker(path: str) -> str:
def get(path: str, file: str) -> None:
tracker = get_tracker(path)
if tracker == 'datalad':
dl.get_file(path, file)
dl.get(path, file)
else:
raise ValueError(f"Tracker {tracker} is not supported.")
return
@ -24,7 +24,7 @@ def get(path: str, file: str) -> None:
def save(path: str, message: str, files: list[str]) -> None:
tracker = get_tracker(path)
if tracker == 'datalad':
dl.save(files, message=message, dataset=path)
dl.save(path, message, files)
else:
raise ValueError(f"Tracker {tracker} is not supported.")

View file

@ -1,17 +1,19 @@
import datalad.api as dl
import os
from typing import Optional
def get(path, file):
def get(path: str, file: str) -> None:
if file == "backlogger.db":
print("Downloading database...")
else:
print("Downloading data...")
dl.get(os.path.join(path, file), dataset=path)
print("> downloaded file")
return
def save(path, message, files= None):
def save(path: str, message: str, files: Optional[list[str]]=None) -> None:
if files is None:
files = path
else:
@ -20,6 +22,6 @@ def save(path, message, files= None):
return
def create(path):
def create(path: str) -> None:
dl.create(path)
return