def bulk_validate_file(result_id, **kw): res = ValidationResult.objects.get(pk=result_id) task_error = None validation = None try: file_base = os.path.basename(res.file.file_path) log.info('[1@None] Validating file %s (%s) for result_id %s' % (res.file, file_base, res.id)) target = res.validation_job.target_version ver = {target.application.guid: [target.version]} overrides = {"targetapp_maxVersion": {target.application.guid: target.version}} validation = run_validator(res.file.file_path, for_appversions=ver, test_all_tiers=True, overrides=overrides) except: task_error = sys.exc_info() log.error(u"bulk_validate_file exception: %s: %s" % (task_error[0], task_error[1]), exc_info=False) res.completed = datetime.now() if task_error: res.task_error = ''.join(traceback.format_exception(*task_error)) else: res.apply_validation(validation) log.info('[1@None] File %s (%s) errors=%s' % (res.file, file_base, res.errors)) res.save() tally_job_results(res.validation_job.id) if task_error: etype, val, tb = task_error raise etype, val, tb
def bulk_validate_file(result_id, **kw): res = ValidationResult.objects.get(pk=result_id) task_error = None validation = None file_base = os.path.basename(res.file.file_path) try: log.info('[1@None] Validating file %s (%s) for result_id %s' % (res.file, file_base, res.id)) target = res.validation_job.target_version guid = amo.APP_IDS[target.application].guid ver = {guid: [target.version]} # Set min/max so the validator only tests for compatibility with # the target version. Note that previously we explicitly checked # for compatibility with older versions. See bug 675306 for # the old behavior. overrides = { 'targetapp_minVersion': { guid: target.version }, 'targetapp_maxVersion': { guid: target.version } } validation = run_validator(res.file.file_path, for_appversions=ver, test_all_tiers=True, overrides=overrides, compat=True) except: task_error = sys.exc_info() log.error(u"bulk_validate_file exception on file %s (%s): %s: %s" % (res.file, file_base, task_error[0], task_error[1]), exc_info=False) res.completed = datetime.now() if task_error: res.task_error = ''.join(traceback.format_exception(*task_error)) else: res.apply_validation(validation) log.info('[1@None] File %s (%s) errors=%s' % (res.file, file_base, res.errors)) tally_validation_results.delay(res.validation_job.id, validation) res.save() tally_job_results(res.validation_job.id) if task_error: etype, val, tb = task_error raise etype, val, tb
def bulk_validate_file(result_id, **kw): res = ValidationResult.objects.get(pk=result_id) task_error = None validation = None file_base = os.path.basename(res.file.file_path) try: log.info("[1@None] Validating file %s (%s) for result_id %s" % (res.file, file_base, res.id)) target = res.validation_job.target_version ver = {target.application.guid: [target.version]} overrides = {"targetapp_maxVersion": {target.application.guid: target.version}} qs = res.file.version.apps.filter(application=target.application) if qs.count() == 1: # This addon version is already compatible with some version # of <app>. This tells the validator to ignore some # irrelevant tests minver = {target.application.guid: qs[0].max.version} overrides["targetapp_minVersion"] = minver else: log.info( "bulk_validate_file maxVersion not defined " "(or duplicated) for file %s (%s), application %s" % (res.file, file_base, target.application) ) validation = run_validator(res.file.file_path, for_appversions=ver, test_all_tiers=True, overrides=overrides) except: task_error = sys.exc_info() log.error( u"bulk_validate_file exception on file %s (%s): %s: %s" % (res.file, file_base, task_error[0], task_error[1]), exc_info=False, ) res.completed = datetime.now() if task_error: res.task_error = "".join(traceback.format_exception(*task_error)) else: res.apply_validation(validation) log.info("[1@None] File %s (%s) errors=%s" % (res.file, file_base, res.errors)) tally_validation_results.delay(res.validation_job.id, validation) res.save() tally_job_results(res.validation_job.id) if task_error: etype, val, tb = task_error raise etype, val, tb
def bulk_validate_file(result_id, **kw): res = ValidationResult.objects.get(pk=result_id) task_error = None validation = None file_base = os.path.basename(res.file.file_path) try: log.info('[1@None] Validating file %s (%s) for result_id %s' % (res.file, file_base, res.id)) target = res.validation_job.target_version ver = {target.application.guid: [target.version]} # Set min/max so the validator only tests for compatibility with # the target version. Note that previously we explicitly checked # for compatibility with older versions. See bug 675306 for # the old behavior. overrides = {'targetapp_minVersion': {target.application.guid: target.version}, 'targetapp_maxVersion': {target.application.guid: target.version}} validation = run_validator(res.file.file_path, for_appversions=ver, test_all_tiers=True, overrides=overrides, compat=True) except: task_error = sys.exc_info() log.error(u"bulk_validate_file exception on file %s (%s): %s: %s" % (res.file, file_base, task_error[0], task_error[1]), exc_info=False) res.completed = datetime.now() if task_error: res.task_error = ''.join(traceback.format_exception(*task_error)) else: res.apply_validation(validation) log.info('[1@None] File %s (%s) errors=%s' % (res.file, file_base, res.errors)) tally_validation_results.delay(res.validation_job.id, validation) res.save() tally_job_results(res.validation_job.id) if task_error: etype, val, tb = task_error raise etype, val, tb
def bulk_validate_file(result_id, **kw): res = ValidationResult.objects.get(pk=result_id) task_error = None validation = None try: file_base = os.path.basename(res.file.file_path) log.info('[1@None] Validating file %s (%s) for result_id %s' % (res.file, file_base, res.id)) target = res.validation_job.target_version ver = {target.application.guid: [target.version]} overrides = { "targetapp_maxVersion": { target.application.guid: target.version } } validation = run_validator(res.file.file_path, for_appversions=ver, test_all_tiers=True, overrides=overrides) except: task_error = sys.exc_info() log.error(u"bulk_validate_file exception: %s: %s" % (task_error[0], task_error[1]), exc_info=False) res.completed = datetime.now() if task_error: res.task_error = ''.join(traceback.format_exception(*task_error)) else: res.apply_validation(validation) log.info('[1@None] File %s (%s) errors=%s' % (res.file, file_base, res.errors)) res.save() tally_job_results(res.validation_job.id) if task_error: etype, val, tb = task_error raise etype, val, tb