def scout(context, madeline_exe, date, replace, case_name): """Prepare a config and files for Scout.""" madeline_exe = madeline_exe or context.obj['madeline_exe'] manager = api.manager(context.obj['database']) root_path = context.obj['root'] run_obj = run_orabort(context, case_name, date) if not run_obj.pipeline_version.startswith('v4'): log.error("unsupported pipeline version: %s", run_obj.pipeline_version) context.abort() existing_conf = (api.assets(category='scout-config', run_id=run_obj.id) .first()) if existing_conf: if replace: log.info("deleting existing scout config: %s", existing_conf.path) api.delete_asset(existing_conf) existing_mad = (api.assets(category='madeline', run_id=run_obj.id) .first()) if existing_mad: log.info("deleting existing madeline: %s", existing_mad.path) api.delete_asset(existing_mad) manager.commit() else: log.error("scout config already generated") context.abort() prepare_scout(run_obj, root_path, madeline_exe) manager.commit()