rework recreateFile function

This commit is contained in:
WorldTeacher
2024-01-31 15:18:47 +01:00
parent e1c9540418
commit c0ccf00dcb

View File

@@ -7,6 +7,7 @@ import pickle
from src.logic.log import MyLogger from src.logic.log import MyLogger
from icecream import ic from icecream import ic
from typing import List, Tuple, Dict, Any, Optional, Union from typing import List, Tuple, Dict, Any, Optional, Union
from pathlib import Path
from omegaconf import OmegaConf from omegaconf import OmegaConf
from src.backend.db import CREATE_TABLE_APPARAT, CREATE_TABLE_MESSAGES, CREATE_TABLE_MEDIA, CREATE_TABLE_APPKONTOS, CREATE_TABLE_FILES, CREATE_TABLE_PROF, CREATE_TABLE_USER, CREATE_TABLE_SUBJECTS from src.backend.db import CREATE_TABLE_APPARAT, CREATE_TABLE_MESSAGES, CREATE_TABLE_MEDIA, CREATE_TABLE_APPKONTOS, CREATE_TABLE_FILES, CREATE_TABLE_PROF, CREATE_TABLE_USER, CREATE_TABLE_SUBJECTS
from src.logic.constants import SEMAP_MEDIA_ACCOUNTS from src.logic.constants import SEMAP_MEDIA_ACCOUNTS
@@ -21,6 +22,7 @@ class Database:
def __init__(self, db_path: str = None): def __init__(self, db_path: str = None):
if db_path is None: if db_path is None:
self.db_path = config.database.path + config.database.name self.db_path = config.database.path + config.database.name
self.db_path = self.db_path.replace("~", str(Path.home()))
else: else:
self.db_path = db_path self.db_path = db_path
if self.get_db_contents() is None: if self.get_db_contents() is None:
@@ -197,12 +199,18 @@ class Database:
blob = create_blob(path) blob = create_blob(path)
query = "INSERT OR IGNORE INTO files (filename, fileblob, app_id, filetyp,prof_id) VALUES (?, ?, ?, ?,?)" query = "INSERT OR IGNORE INTO files (filename, fileblob, app_id, filetyp,prof_id) VALUES (?, ?, ?, ?,?)"
self.query_db(query, (filename, blob, app_id, filetyp,prof_id)) self.query_db(query, (filename, blob, app_id, filetyp,prof_id))
def recreateFile(self, filename, add_id): def recreateFile(self, filename, app_id,filetype):
blob = self.getBlob(filename, add_id) blob = self.getBlob(filename, app_id)
if not os.path.exists(config.database.tempdir): tempdir = config.database.tempdir
os.mkdir(config.database.tempdir) tempdir = tempdir.replace("~", str(Path.home()))
tempfile.NamedTemporaryFile(filename=filename,delete=False,dir=config.database.tempdir,mode="wb").write(blob) tempdir_path = Path(tempdir)
if not os.path.exists(tempdir_path):
os.mkdir(tempdir_path)
file = tempfile.NamedTemporaryFile(
delete=False, dir=tempdir_path, mode="wb", suffix=f".{filetype}"
)
file.write(blob)
return file.name
def getFiles(self, app_id:int, prof_id:int)->list[tuple]: def getFiles(self, app_id:int, prof_id:int)->list[tuple]:
return self.query_db("SELECT filename, filetyp FROM files WHERE app_id=? AND prof_id=?", (app_id,prof_id)) return self.query_db("SELECT filename, filetyp FROM files WHERE app_id=? AND prof_id=?", (app_id,prof_id))