From fe98376efb050676d63d354183f634c43e66d006 Mon Sep 17 00:00:00 2001 From: Mo8it Date: Thu, 8 Sep 2022 00:33:00 +0200 Subject: [PATCH] Fix importing --- advlabdb/adminModelViews.py | 8 +++----- advlabdb/database_import.py | 5 +++-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/advlabdb/adminModelViews.py b/advlabdb/adminModelViews.py index ce44f29..1f44abd 100644 --- a/advlabdb/adminModelViews.py +++ b/advlabdb/adminModelViews.py @@ -31,7 +31,7 @@ from wtforms.fields import ( from wtforms.validators import URL, DataRequired, Email, NumberRange, Optional from wtforms.widgets import NumberInput -from . import user_datastore +from . import data_dir, user_datastore from .admin_link_formatters import ( admin_formatter, appointment_date_formatter, @@ -1282,10 +1282,10 @@ class ImportView(SecureAdminBaseView): f = form.file.data filename = secure_filename(f.filename) - directory = "db/import_files" + directory = data_dir / "db/import_files" Path(directory).mkdir(exist_ok=True) - filePath = directory + f"/{filename}" + filePath = directory / filename f.save(filePath) try: @@ -1293,8 +1293,6 @@ class ImportView(SecureAdminBaseView): except Exception as ex: flash(str(ex), "error") - return redirect(url_for("main.index")) - return self.render("import.html", form=form) diff --git a/advlabdb/database_import.py b/advlabdb/database_import.py index 1fa7638..1a01d4d 100644 --- a/advlabdb/database_import.py +++ b/advlabdb/database_import.py @@ -1,4 +1,5 @@ from datetime import datetime +from pathlib import Path from shutil import copy2 from flask import flash @@ -46,13 +47,13 @@ def not_nullable(entry): return entry -def importFromFile(filePath): +def importFromFile(filePath: Path): db_path = data_dir / "db/advlab.db" db_bk_dir = db_path.parent / "backups" db_bk_dir.mkdir(exist_ok=True) - if filePath[-4:] != ".txt": + if filePath.name[-4:] != ".txt": raise DataBaseImportException( "The import file has to be a text file with txt extension (.txt at the end of the filename)!" )