From 18bcbab24bab236d20f933ef35fa086afc724989 Mon Sep 17 00:00:00 2001 From: Martin Mares <mj@ucw.cz> Date: Sun, 1 Dec 2024 11:46:36 +0100 Subject: [PATCH] export-pion: Bug fixes --- bin/export-pion | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/bin/export-pion b/bin/export-pion index 0947950c..9e0ffe49 100755 --- a/bin/export-pion +++ b/bin/export-pion @@ -2,6 +2,7 @@ # Účast ve všech soutěžích ročníku (anonymně) from dataclasses import dataclass +from sqlalchemy import and_ from sqlalchemy.orm import joinedload import sys @@ -10,14 +11,15 @@ import mo.db as db sess = db.get_session() -res = (sess.query(db.Participant, db.Participation) +res = (sess.query(db.Participant, db.Participation, db.Contest, db.Round) .select_from(db.Participant) .join(db.Participation, db.Participation.user_id == db.Participant.user_id) + .join(db.Contest, db.Contest.contest_id == db.Participation.contest_id) + .join(db.Round, and_(db.Round.round_id == db.Contest.round_id, db.Round.year == db.Participant.year)) .options(joinedload(db.Participant.user)) .options(joinedload(db.Participant.school_place).joinedload(db.Place.parent_place).joinedload(db.Place.parent_place).joinedload(db.Place.parent_place)) .options(joinedload(db.Participation.place)) - .options(joinedload(db.Participation.contest).joinedload(db.Contest.place)) - .options(joinedload(db.Participation.contest).joinedload(db.Contest.round)) + .filter(db.Round.master_round_id == db.Round.round_id) .all()) @@ -35,15 +37,13 @@ class Row: output = [] -for pant, pion in res: - if pion.contest.round.is_subround(): - continue +for pant, pion, ct, rnd in res: output.append(Row( - rocnik=str(pion.contest.round.year), - kategorie=pion.contest.round.category, - kolo=str(pion.contest.round.level), - misto=pion.contest.place.name, - kod_mista=str(pion.contest.place.place_id), + rocnik=str(rnd.year), + kategorie=rnd.category, + kolo=str(rnd.seq), + misto=ct.place.name, + kod_mista=str(ct.place.place_id), kod_ucastnika=str(pion.user_id), nazev_skoly=pant.school_place.name, kod_skoly=str(pant.school), -- GitLab