diff --git a/bin/schedule-round-job b/bin/schedule-round-job new file mode 100755 index 0000000000000000000000000000000000000000..f173981b31608c4c2c22c6604b9a7f7731d7ab5f --- /dev/null +++ b/bin/schedule-round-job @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import argparse + +from mo.arg_attrs import parse_time +import mo.db as db +from mo.jobs.round import schedule_round_switch_to_grading +import mo.users +import mo.util +from mo.util import die, init_standalone + +parser = argparse.ArgumentParser(description='Naplánuje dávku pro správu kola') +parser.add_argument('--round', type=str, required=True, metavar='YY-C-S[p]', help='kód kola') +parser.add_argument('--time', type=parse_time, required=True, metavar='T', help='čas, kdy se má dávka spustit') +parser.add_argument('--switch-to-grading', dest='type', action='store_const', const=db.JobType.round_switch_to_grading, help='Dávka: Přepnutí do stavu opravuje se / po oblastech') + +args = parser.parse_args() +init_standalone() + +if args.type is None: + die("Není vybrán žádný typ dávky") + +round_code = mo.util.RoundCode.parse(args.round) +if round_code is None: + die("Chybná syntaxe kódu kola") +round = mo.util.get_round_by_code(round_code) +if round is None: + die("Kolo s tímto kódem neexistuje!") + +if args.type == db.JobType.round_switch_to_grading: + schedule_round_switch_to_grading(round, db.get_system_user(), args.time)