diff --git a/flandre/__init__.py b/flandre/__init__.py index 25bd3d7..ce75598 100644 --- a/flandre/__init__.py +++ b/flandre/__init__.py @@ -1,6 +1,5 @@ import dataclasses import json -import sys from pathlib import Path import platformdirs @@ -19,7 +18,9 @@ class SoftwareConfig: def s(self, host, port, proto='tcp'): return f'{proto}://{host}:{port}' - data_folder_: Path = platformdirs.user_data_path('Flandre', 'Scarlet') / 'record' + data_folder: Path = platformdirs.user_data_path('Flandre', 'Scarlet') + record_folder_: Path = data_folder / 'record' + log_folder_: Path = data_folder / 'log' config_folder: Path = platformdirs.user_config_path('Flandre', 'Scarlet') @property @@ -27,13 +28,22 @@ class SoftwareConfig: return self.config_folder / 'software.json' @property - def data_folder(self): - self.data_folder_.mkdir(exist_ok=True, parents=True) - return self.data_folder_ + def log_folder(self): + self.log_folder_.mkdir(exist_ok=True, parents=True) + return self.log_folder_ - @data_folder.setter - def data_folder(self, value): - self.data_folder_ = value + @log_folder.setter + def log_folder(self, value): + self.log_folder_ = value + + @property + def record_folder(self): + self.record_folder_.mkdir(exist_ok=True, parents=True) + return self.record_folder_ + + @record_folder.setter + def record_folder(self, value): + self.record_folder_ = value @property def imaging_config_folder(self): diff --git a/flandre/launcher.py b/flandre/launcher.py index 9cac120..fbde694 100644 --- a/flandre/launcher.py +++ b/flandre/launcher.py @@ -116,6 +116,7 @@ def launch_from_file(file: Path): def entrypoint(data_folder, generate_pyqt, dev, path): if dev: C.config_folder = P.DEV_PROJECT_FOLDER / 'config' + C.log_folder = P.DEV_PROJECT_FOLDER / 'log' else: C.read_config(C.software_config_file) @@ -126,7 +127,7 @@ def entrypoint(data_folder, generate_pyqt, dev, path): subprocess.run([pyuic6, '-o', P.PYQT / 'Main.py', P.PYQT / 'Main.ui']) subprocess.run([pyuic6, '-o', P.PYQT / 'Image.py', P.PYQT / 'Image.ui']) if data_folder is not None: - C.data_folder = Path(data_folder) + C.record_folder = Path(data_folder) path = Path(path) if not path.exists(): diff --git a/flandre/nodes/Loader.py b/flandre/nodes/Loader.py index 2810199..402a1a3 100644 --- a/flandre/nodes/Loader.py +++ b/flandre/nodes/Loader.py @@ -48,7 +48,7 @@ class Loader(Node): if not seq_list: logger.warning(f'No sequences found in {base}') else: - C.data_folder = base + C.record_folder = base C.write_config() self.send(PlaybackSeqListMsg(seq_list)) elif isinstance(msg, KillMsg): diff --git a/flandre/nodes/MainUI.py b/flandre/nodes/MainUI.py index cd007f2..a2df6a0 100644 --- a/flandre/nodes/MainUI.py +++ b/flandre/nodes/MainUI.py @@ -69,7 +69,7 @@ class Adv(QMainWindow, Ui_MainWindow): self.setupUi(self) # set default folder - self.l_base.setText(C.data_folder.__str__()) + self.l_base.setText(C.record_folder.__str__()) self.device_switch_state: LinkStatus = LinkStatus.RED icon = QtGui.QIcon() diff --git a/flandre/nodes/Node.py b/flandre/nodes/Node.py index 3537da8..9cd6e7e 100644 --- a/flandre/nodes/Node.py +++ b/flandre/nodes/Node.py @@ -1,3 +1,4 @@ +import datetime import logging from abc import abstractmethod @@ -49,7 +50,9 @@ class Node: logFormatter = logging.Formatter(FORMAT, datefmt='%Y-%m-%d %H:%M:%S', ) - fileHandler = logging.FileHandler("log.log") + log_file = flandre.C.log_folder / datetime.datetime.today().strftime('%Y-%m-%d.log') + print(log_file) + fileHandler = logging.FileHandler(log_file) fileHandler.setFormatter(logFormatter) rootLogger.addHandler(fileHandler)