add elsa function to recreate the file

This commit is contained in:
WorldTeacher
2024-05-24 10:08:37 +02:00
parent f204ed2b30
commit 874c871923

View File

@@ -1,36 +1,66 @@
import os import os
from pathlib import Path from pathlib import Path
from omegaconf import OmegaConf from icecream import ic
from omegaconf import OmegaConf
from src.backend.database import Database
from src.backend.database import Database
db = Database()
config = OmegaConf.load("config.yaml") db = Database()
config = OmegaConf.load("config.yaml")
def recreateFile(name, app_id, filetype, open=True) -> Path:
""" def recreateFile(name, app_id, filetype, open=True) -> Path:
recreateFile creates a file from the database and opens it in the respective program, if the open parameter is set to True. """
recreateFile creates a file from the database and opens it in the respective program, if the open parameter is set to True.
Args:
---- Args:
- name (str): The filename selected by the user. ----
- app_id (str): the id of the apparatus. - name (str): The filename selected by the user.
- filetype (str): the extension of the file to be created. - app_id (str): the id of the apparatus.
- open (bool, optional): Determines if the file should be opened. Defaults to True. - filetype (str): the extension of the file to be created.
- open (bool, optional): Determines if the file should be opened. Defaults to True.
Returns:
------- Returns:
- Path: Absolute path to the file. -------
""" - Path: Absolute path to the file.
path = db.recreateFile(name, app_id, filetype=filetype) """
path = Path(path) path = db.recreateFile(name, app_id, filetype=filetype)
if open: path = Path(path)
if os.getenv("OS") == "Windows_NT": if open:
path = path.resolve() if os.getenv("OS") == "Windows_NT":
os.startfile(path) path = path.resolve()
else: os.startfile(path)
path = path.resolve() else:
os.system(f"open {path}") path = path.resolve()
return path os.system(f"open {path}")
return path
def recreateElsaFile(filename: str, filetype: str, open=True) -> Path:
"""
recreateElsaFile creates a file from the database and opens it in the respective program, if the open parameter is set to True.
Args:
----
- filename (str): The filename selected by the user.
- open (bool, optional): Determines if the file should be opened. Defaults to True.
Returns:
-------
- Path: Absolute path to the file.
"""
if filename.startswith("(") and filename.endswith(")"):
filename = str(filename[1:-1].replace("'", ""))
if not isinstance(filename, str):
raise ValueError("filename must be a string")
path = db.recreateElsaFile(filename, filetype)
path = Path(path)
if open:
if os.getenv("OS") == "Windows_NT":
path = path.resolve()
os.startfile(path)
else:
path = path.resolve()
os.system(f"open {path}")
return path