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