def _run_command(self, session, job, parent): """ Run a Job command in a separate thread """ ui_io_delegate = UIOutputPrinter(self) runner = JobRunner(session.session_dir, session.jobs_io_log_dir, command_io_delegate=ui_io_delegate) return_code, record_path = runner._run_command(job, None) parent._command_callback(return_code, record_path)
def run(self): job = self._get_job() if job is None: print(_("There is no job called {!a}").format(self.job_id)) print(_("See `plainbox special --list-jobs` for a list of choices")) return 126 elif job.command is None: print(_("Selected job does not have a command")) return 125 with TemporaryDirectory() as scratch, TemporaryDirectory() as iologs: runner = JobRunner(scratch, self.provider_list, iologs) bait_dir = os.path.join(scratch, "files-created-in-current-dir") os.mkdir(bait_dir) with TestCwd(bait_dir): return_code, record_path = runner._run_command(job, self.config) self._display_side_effects(scratch) self._display_script_outcome(job, return_code) return return_code
def run(self): job = self._get_job() if job is None: print("There is no job called {!a}".format(self.job_name)) print("See `plainbox special --list-jobs` for a list of choices") return 126 elif job.command is None: print("Selected job does not have a command") return 125 with TemporaryDirectory() as scratch, TemporaryDirectory() as iologs: runner = JobRunner(scratch, iologs) bait_dir = os.path.join(scratch, 'files-created-in-current-dir') os.mkdir(bait_dir) with TestCwd(bait_dir): return_code, record_path = runner._run_command( job, self.config) self._display_side_effects(scratch) self._display_script_outcome(job, return_code) return return_code
def run(self): job = self._get_job() if job is None: print(_("There is no job called {!a}").format(self.job_id)) print( _("See `plainbox special --list-jobs` for a list of choices")) return 126 elif job.command is None: print(_("Selected job does not have a command")) return 125 with TemporaryDirectory() as scratch, TemporaryDirectory() as iologs: runner = JobRunner(scratch, self.provider_list, iologs) job_state = JobState(job) ctrl = runner._get_ctrl_for_job(job) runner.log_leftovers = False runner.on_leftover_files.connect(self._on_leftover_files) return_code, record_path = runner._run_command( job, job_state, self.config, ctrl) self._display_script_outcome(job, return_code) return return_code