From 718f2c1c902e656f7fe1f4762be9fed11efc3fe6 Mon Sep 17 00:00:00 2001 From: Waleed El-Geresy Date: Tue, 4 Sep 2018 17:18:25 +0100 Subject: Expose context in OP initialize and finalize Expose the context to the initialize and finalize functions for Output Processors. This was found to be necessary for the upcoming PostgreSQL Output Processor. --- wa/commands/process.py | 4 ++-- wa/framework/execution.py | 4 ++-- wa/framework/output_processor.py | 12 ++++++------ wa/output_processors/cpustates.py | 2 +- wa/output_processors/csvproc.py | 2 +- wa/output_processors/sqlite.py | 2 +- wa/output_processors/targz.py | 2 +- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/wa/commands/process.py b/wa/commands/process.py index 6c4aa138..3ee9db1b 100644 --- a/wa/commands/process.py +++ b/wa/commands/process.py @@ -106,7 +106,7 @@ class ProcessCommand(Command): pm.install(proc, pc) pm.validate() - pm.initialize() + pm.initialize(pc) pc.run_output = run_output pc.target_info = run_output.target_info @@ -139,7 +139,7 @@ class ProcessCommand(Command): self.logger.info('Processing run') pm.process_run_output(pc) pm.export_run_output(pc) - pm.finalize() + pm.finalize(pc) run_output.write_result() self.logger.info('Done.') diff --git a/wa/framework/execution.py b/wa/framework/execution.py index 1e06ab19..ebcb6860 100644 --- a/wa/framework/execution.py +++ b/wa/framework/execution.py @@ -516,7 +516,7 @@ class Runner(object): signal.connect(self._error_signalled_callback, signal.ERROR_LOGGED) signal.connect(self._warning_signalled_callback, signal.WARNING_LOGGED) self.context.start_run() - self.pm.initialize() + self.pm.initialize(self.context) with log.indentcontext(): self.context.initialize_jobs() self.context.write_state() @@ -532,7 +532,7 @@ class Runner(object): with signal.wrap('RUN_OUTPUT_PROCESSED', self): self.pm.process_run_output(self.context) self.pm.export_run_output(self.context) - self.pm.finalize() + self.pm.finalize(self.context) signal.disconnect(self._error_signalled_callback, signal.ERROR_LOGGED) signal.disconnect(self._warning_signalled_callback, signal.WARNING_LOGGED) diff --git a/wa/framework/output_processor.py b/wa/framework/output_processor.py index 76654083..6fe80f7e 100644 --- a/wa/framework/output_processor.py +++ b/wa/framework/output_processor.py @@ -40,10 +40,10 @@ class OutputProcessor(Plugin): msg = 'Instrument "{}" is required by {}, but is not installed.' raise ConfigError(msg.format(instrument, self.name)) - def initialize(self): + def initialize(self, context): pass - def finalize(self): + def finalize(self, context): pass @@ -104,13 +104,13 @@ class ProcessorManager(object): for proc in self.processors: proc.validate() - def initialize(self): + def initialize(self, context): for proc in self.processors: - proc.initialize() + proc.initialize(context) - def finalize(self): + def finalize(self, context): for proc in self.processors: - proc.finalize() + proc.finalize(context) def process_job_output(self, context): self.do_for_each_proc('process_job_output', 'Processing using "{}"', diff --git a/wa/output_processors/cpustates.py b/wa/output_processors/cpustates.py index 7ab022df..e5545c59 100755 --- a/wa/output_processors/cpustates.py +++ b/wa/output_processors/cpustates.py @@ -85,7 +85,7 @@ class CpuStatesProcessor(OutputProcessor): """), ] - def initialize(self): + def initialize(self, context): self.iteration_reports = OrderedDict() # pylint: disable=attribute-defined-outside-init def process_job_output(self, output, target_info, run_output): # pylint: disable=unused-argument diff --git a/wa/output_processors/csvproc.py b/wa/output_processors/csvproc.py index 884f6542..08432f7a 100644 --- a/wa/output_processors/csvproc.py +++ b/wa/output_processors/csvproc.py @@ -56,7 +56,7 @@ class CsvReportProcessor(OutputProcessor): 'use_all_classifiers is True' raise ConfigError(msg) - def initialize(self): + def initialize(self, context): # pylint: disable=attribute-defined-outside-init self.outputs_so_far = [] self.artifact_added = False diff --git a/wa/output_processors/sqlite.py b/wa/output_processors/sqlite.py index 1064a4a3..30c066d5 100644 --- a/wa/output_processors/sqlite.py +++ b/wa/output_processors/sqlite.py @@ -108,7 +108,7 @@ class SqliteResultProcessor(OutputProcessor): ] - def initialize(self): + def initialize(self, context): self._last_spec = None self._run_oid = None self._spec_oid = None diff --git a/wa/output_processors/targz.py b/wa/output_processors/targz.py index 27087ab9..3b573e41 100644 --- a/wa/output_processors/targz.py +++ b/wa/output_processors/targz.py @@ -56,7 +56,7 @@ class TargzProcessor(OutputProcessor): '''), ] - def initialize(self): + def initialize(self, context): if self.delete_output: self.logger.debug('Registering RUN_FINALIZED handler.') signal.connect(self.delete_output_directory, signal.RUN_FINALIZED, priority=-100) -- cgit v1.2.3