async def main(): parser = argparse.ArgumentParser("reschedule") parser.add_argument( "--config", type=str, default="janitor.conf", help="Path to configuration." ) parser.add_argument( "--policy", type=str, default="policy.conf", help="Path to policy." ) parser.add_argument( "-r", dest="run_id", type=str, help="Run to process.", action="append" ) parser.add_argument('--debug', action='store_true') args = parser.parse_args() with open(args.config, "r") as f: config = read_config(f) if args.debug: logging.basicConfig(level=logging.DEBUG) else: logging.basicConfig(level=logging.INFO) db = state.Database(config.database_location) session = PlainSession() with session: requirements = {} async for package, suite, requirement in gather_requirements(db, session, args.run_id or None): requirements.setdefault(requirement, []).append((package, suite)) with open(args.policy, "r") as f: policy = read_policy(f) apt_mgr = AptManager.from_session(session) async with db.acquire() as conn: for requirement, needed_by in requirements.items(): await followup_missing_requirement( conn, apt_mgr, policy, requirement, needed_by=', '.join(["%s/%s" % (package, suite) for (package, suite) in needed_by]))
parser = argparse.ArgumentParser() parser.add_argument("--config", type=str, default="janitor.conf", help="Path to configuration.") parser.add_argument("-r", "--run-id", type=str, help="Run id to process") parser.add_argument("--role", type=str, help="Role", default="main") parser.add_argument('--format', type=str, choices=['md', 'txt'], default='md') args = parser.parse_args() logging.basicConfig(level=logging.INFO, format='%(message)s') with open(args.config, "r") as f: config = read_config(f) async def process_build(db, run_id, role, format): async with db.acquire() as conn: query = """ SELECT package, suite, id AS log_id, result AS _result FROM run WHERE id = $1 """ row = await conn.fetchrow(query, run_id)