diff options
author | Diego Russo <diego.russo@arm.com> | 2023-02-02 22:04:05 +0000 |
---|---|---|
committer | Diego Russo <diego.russo@arm.com> | 2023-02-03 17:48:11 +0000 |
commit | f1eaff3c9790464bed3183ff76555cf815166f50 (patch) | |
tree | bba288bb051925a692e1e1f998f7cc48df755df6 /src/mlia/core/context.py | |
parent | d1b2374cda6811a93d1174400fc2eecd7100a8c3 (diff) | |
download | mlia-f1eaff3c9790464bed3183ff76555cf815166f50.tar.gz |
MLIA-782 Remove --output parameter
* Remove --output parameter from argument parser
* Remove FormattedFilePath class and its presence across the codebase
* Move logging module from cli to core
* The output format is now injected in the execution context and used
across MLIA
* Depending on the output format, TextReporter and JSONReporter have
been created and used accordingly.
* The whole output to standard output and/or logfile is driven via the
logging module: the only case where the print is used is when the
--json parameter is specified. This is needed becase all output
(including third party application as well) needs to be disabled
otherwise it might corrupt the json output in the standard output.
* Debug information is logged into the log file and printed to stdout
when the output format is plain_text.
* Update E2E test and config to cope with the new mechanism of
outputting json data to standard output.
Change-Id: I4395800b0b1af4d24406a828d780bdeef98cd413
Diffstat (limited to 'src/mlia/core/context.py')
-rw-r--r-- | src/mlia/core/context.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/mlia/core/context.py b/src/mlia/core/context.py index 94aa885..f8442a3 100644 --- a/src/mlia/core/context.py +++ b/src/mlia/core/context.py @@ -23,6 +23,7 @@ from mlia.core.events import EventHandler from mlia.core.events import EventPublisher from mlia.core.helpers import ActionResolver from mlia.core.helpers import APIActionResolver +from mlia.core.typing import OutputFormat logger = logging.getLogger(__name__) @@ -68,6 +69,11 @@ class Context(ABC): def action_resolver(self) -> ActionResolver: """Return action resolver.""" + @property + @abstractmethod + def output_format(self) -> OutputFormat: + """Return the output format.""" + @abstractmethod def update( self, @@ -106,6 +112,7 @@ class ExecutionContext(Context): logs_dir: str = "logs", models_dir: str = "models", action_resolver: ActionResolver | None = None, + output_format: OutputFormat = "plain_text", ) -> None: """Init execution context. @@ -139,6 +146,7 @@ class ExecutionContext(Context): self.logs_dir = logs_dir self.models_dir = models_dir self._action_resolver = action_resolver or APIActionResolver() + self._output_format = output_format @property def working_dir(self) -> Path: @@ -197,6 +205,11 @@ class ExecutionContext(Context): """Return path to the logs directory.""" return self._working_dir_path / self.logs_dir + @property + def output_format(self) -> OutputFormat: + """Return the output format.""" + return self._output_format + def update( self, *, @@ -221,7 +234,8 @@ class ExecutionContext(Context): f"ExecutionContext: working_dir={self._working_dir_path}, " f"advice_category={category}, " f"config_parameters={self.config_parameters}, " - f"verbose={self.verbose}" + f"verbose={self.verbose}, " + f"output_format={self.output_format}" ) |