#2533: fix missing implementation of output_dir override in io.py + moving the dev mode override in SIM_OUTPUT to prevent the override from being overridden
This commit is contained in:
@@ -5,7 +5,7 @@ from typing import Dict, List, Optional
|
|||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
|
||||||
from primaite import _PRIMAITE_ROOT, getLogger, PRIMAITE_PATHS
|
from primaite import _PRIMAITE_ROOT, getLogger, PRIMAITE_CONFIG, PRIMAITE_PATHS
|
||||||
from primaite.simulator import LogLevel, SIM_OUTPUT
|
from primaite.simulator import LogLevel, SIM_OUTPUT
|
||||||
from primaite.utils.cli.primaite_config_utils import is_dev_mode
|
from primaite.utils.cli.primaite_config_utils import is_dev_mode
|
||||||
|
|
||||||
@@ -66,9 +66,12 @@ class PrimaiteIO:
|
|||||||
|
|
||||||
# check if running in dev mode
|
# check if running in dev mode
|
||||||
if is_dev_mode():
|
if is_dev_mode():
|
||||||
# check if there is an output directory set in config
|
|
||||||
session_path = _PRIMAITE_ROOT.parent.parent / "sessions" / date_str / time_str
|
session_path = _PRIMAITE_ROOT.parent.parent / "sessions" / date_str / time_str
|
||||||
|
|
||||||
|
# check if there is an output directory set in config
|
||||||
|
if PRIMAITE_CONFIG["developer_mode"]["output_dir"]:
|
||||||
|
session_path = Path(PRIMAITE_CONFIG["developer_mode"]["output_dir"]) / "sessions" / date_str / time_str
|
||||||
|
|
||||||
session_path.mkdir(exist_ok=True, parents=True)
|
session_path.mkdir(exist_ok=True, parents=True)
|
||||||
return session_path
|
return session_path
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,17 @@ class _SimOutput:
|
|||||||
|
|
||||||
path = PRIMAITE_PATHS.user_sessions_path / date_str / time_str
|
path = PRIMAITE_PATHS.user_sessions_path / date_str / time_str
|
||||||
|
|
||||||
|
self._path = path
|
||||||
|
self._save_pcap_logs: bool = False
|
||||||
|
self._save_sys_logs: bool = False
|
||||||
|
self._write_sys_log_to_terminal: bool = False
|
||||||
|
self._sys_log_level: LogLevel = LogLevel.WARNING # default log level is at WARNING
|
||||||
|
|
||||||
|
@property
|
||||||
|
def path(self) -> Path:
|
||||||
if is_dev_mode():
|
if is_dev_mode():
|
||||||
|
date_str = datetime.now().strftime("%Y-%m-%d")
|
||||||
|
time_str = datetime.now().strftime("%H-%M-%S")
|
||||||
# if dev mode is enabled, if output dir is not set, print to primaite repo root
|
# if dev mode is enabled, if output dir is not set, print to primaite repo root
|
||||||
path: Path = _PRIMAITE_ROOT.parent.parent / "sessions" / date_str / time_str / "simulation_output"
|
path: Path = _PRIMAITE_ROOT.parent.parent / "sessions" / date_str / time_str / "simulation_output"
|
||||||
# otherwise print to output dir
|
# otherwise print to output dir
|
||||||
@@ -44,15 +54,7 @@ class _SimOutput:
|
|||||||
/ time_str
|
/ time_str
|
||||||
/ "simulation_output"
|
/ "simulation_output"
|
||||||
)
|
)
|
||||||
|
self._path = path
|
||||||
self._path = path
|
|
||||||
self._save_pcap_logs: bool = False
|
|
||||||
self._save_sys_logs: bool = False
|
|
||||||
self._write_sys_log_to_terminal: bool = False
|
|
||||||
self._sys_log_level: LogLevel = LogLevel.WARNING # default log level is at WARNING
|
|
||||||
|
|
||||||
@property
|
|
||||||
def path(self) -> Path:
|
|
||||||
return self._path
|
return self._path
|
||||||
|
|
||||||
@path.setter
|
@path.setter
|
||||||
|
|||||||
Reference in New Issue
Block a user