Skip to content
Snippets Groups Projects

Publikace výsledkovky na web MO

Merged Jiří Kalvoda requested to merge jk/vysledkovka into devel
Compare and Show latest version
3 files
+ 6
13
Compare changes
  • Side-by-side
  • Inline

Files

+ 5
10
@@ -17,11 +17,11 @@ from mo.util_format import format_decimal
#
# Job snapshot_score: Vytvoří kopii aktuální výsledkovy (TODO: a pdf k ní)
# Job snapshot_score: Vytvoří kopii aktuální výsledkovky (TODO: a pdf k ní)
#
# Vstupní JSON:
# { 'contest_id': int,
# 'snapshot_note': snapshot_note
# 'snapshot_note': komentář k vzniklé verzi výsledkovky
# }
#
# Výstupní JSON:
@@ -32,7 +32,7 @@ from mo.util_format import format_decimal
def schedule_snapshot_score(contest: db.Contest, for_user: db.User, snapshot_note: str) -> None:
the_job = TheJob()
job = the_job.create(db.JobType.snapshot_score, for_user)
job.description = 'Zamrazení aktuálního stavu výsledkové listiny'
job.description = 'Zmrazení aktuálního stavu výsledkové listiny'
job.in_json = {"contest_id": contest.contest_id, "snapshot_note": snapshot_note}
the_job.submit()
@@ -84,7 +84,7 @@ def handle_snapshot_score(the_job: TheJob):
sess = db.get_session()
ct_id: int = job.in_json["contest_id"] # type: ignore
contest: db.Contest = sess.query(db.Contest).get(ct_id) # type: ignore
contest: db.Contest = mo.util.assert_not_none(sess.query(db.Contest).get(ct_id))
round = contest.round
score = Score(round.master, contest)
tasks = score.get_tasks()
@@ -151,7 +151,7 @@ def handle_snapshot_score(the_job: TheJob):
)
sess.commit()
job.result = 'Zamrazení výsledkové listiny: Hotovo'
job.result = 'Zmrazení výsledkové listiny: Hotovo'
#
# Job export_score_to_mo_web: Exportuje výsledkovou listinu na stránky matematické olympiády
@@ -189,9 +189,6 @@ def handle_export_score_to_mo_web(the_job: TheJob):
contest: db.Contest = sess.query(db.Contest).get(score_table.contest_id) # type: ignore
round = contest.round
print(score_table.tasks)
print(score_table.rows)
json_tasks = [{
"code": t['code'] if type(t) == dict else t[0],
"name": t.get("name", None) if type(t) == dict else t[1],
@@ -209,8 +206,6 @@ def handle_export_score_to_mo_web(the_job: TheJob):
'status': "winner" if c['winner'] else "successful" if c['successful'] else None,
} for c in score_table.rows]
print(score_table.score_metadata)
def noneAs(x, default):
return x if x is not None else default
Loading