From 49b67d306147ab21f91aaf00831d5b36e28585f6 Mon Sep 17 00:00:00 2001 From: Frederick Muriuki Muriithi Date: Thu, 7 Dec 2023 16:29:05 +0300 Subject: Samples: Read an save data to db. --- qc_app/files.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 qc_app/files.py (limited to 'qc_app/files.py') diff --git a/qc_app/files.py b/qc_app/files.py new file mode 100644 index 0000000..6485b27 --- /dev/null +++ b/qc_app/files.py @@ -0,0 +1,20 @@ +"""Utilities to deal with uploaded files.""" +from pathlib import Path +from typing import Union + +from werkzeug.utils import secure_filename +from flask import ( + request, + current_app as app) + +def save_file(key: str, upload_dir: Path) -> Union[Path, bool]: + """Save the uploaded file and return the path.""" + if not bool(request.files.get(key)): + return False + filename = Path(secure_filename(request.files[key].filename)) + if not upload_dir.exists(): + upload_dir.mkdir() + + filepath = Path(upload_dir, filename) + request.files["samples_file"].save(filepath) + return filepath -- cgit v1.2.3