def main (args, app): # print args.report # print app.parser.parse_known_args( ) requested = args.report[:] for spec in requested: report = app.actions.selected(args).reports[spec] device = app.devices[report.fields['device']] task = app.actions.commands['add'].usages.commands[device.name].method.commands[report.fields['use']] # print(task.name, task.usage, task.method, report.fields, app.inputs) # print device.name, device # print report.name, report.fields # XXX.bewest: very crude, need to prime the Use's args from the config app.parser.set_defaults(**task.method.from_ini(report.fields)) args, extra = app.parser.parse_known_args(app.inputs) """ for k, v in report.fields.items( ): setattr(args, k, v) """ # print args print(report.format_url( )) repo = app.git_repo( ) try: output = task.method(args, app) except Exception as e: print(report.name, ' raised ', e, file=sys.stderr) # save prior progress in git app.epilog( ) # ensure we still blow up with non-zero exit raise else: reporters.Reporter(report, device, task)(output) print('reporting', report.name) repo.git.add([report.name], write_extension_data=False)
def main(args, app): # print args.report # print app.parser.parse_known_args( ) requested = args.report[:] for spec in requested: report = app.actions.selected(args).reports[spec] device = app.devices[report.fields['device']] task = app.actions.commands['add'].usages.commands[ device.name].method.commands[report.fields['use']] # print task.name, task.usage, task.method # print device.name, device # print report.name, report.fields # XXX.bewest: very crude, need to prime the Use's args from the config app.parser.set_defaults(**report.fields) args, extra = app.parser.parse_known_args() """ for k, v in report.fields.items( ): setattr(args, k, v) """ # print args print(report.format_url()) repo = app.git_repo() try: output = task.method(args, app) except Exception as e: print(report.name, ' raised ', e, file=sys.stderr) raise else: reporters.Reporter(report, device, task)(output) print('reporting', report.name) repo.index.add([report.name])
def compare(self, compared, competitors): reporter = reporters.Reporter() rules = ComparatorExtensions(compared, competitors, reporter) if rules.rule_valid_compared(): if rules.rule_compared_smaller(): self.send_with_email.send(reporter.format_report()) if rules.rule_compared_two_times_smaller(): self.send_with_sms.send(reporter.format_report()) report = reporter.format_report() self.save_to_file.send(report) self.show_on_console.send(report)
def main(args, app): report = app.actions.selected(args).reports[args.report] device = app.devices[report.fields['device']] task = app.actions.commands['add'].usages.commands[ device.name].method.commands[report.fields['use']] # print task.name, task.usage, task.method # print device.name, device # print report.name, report.fields # XXX.bewest: very crude, need to prime the Use's args from the config for k, v in report.fields.items(): setattr(args, k, v) # print args print report.format_url() repo = app.git_repo() reporter = reporters.Reporter(report, device, task) reporter(task.method(args, app)) print 'reporting', report.name repo.index.add([report.name])