From 13f6e2e3b9bc2fc131bbb5320848bc2de471f062 Mon Sep 17 00:00:00 2001 From: Pc Date: Wed, 4 Jun 2025 20:34:26 +0200 Subject: [PATCH] Added rest of player updating code --- FlaskWebProject/FlaskWebProject/fs_scraper.py | 16 +++++++++------- FlaskWebProject/FlaskWebProject/lewy_db.py | 12 ++++++++++++ 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/FlaskWebProject/FlaskWebProject/fs_scraper.py b/FlaskWebProject/FlaskWebProject/fs_scraper.py index f33b7f1..70f2cc9 100644 --- a/FlaskWebProject/FlaskWebProject/fs_scraper.py +++ b/FlaskWebProject/FlaskWebProject/fs_scraper.py @@ -1,3 +1,4 @@ +from flask import session from lewy_db import baza as ldb from lewy_globals import colors as c import json @@ -177,22 +178,23 @@ class scraper: match_num += 1 stats=safe_traverse(match, ["stats"], default=""), - + zewnetrzne_id_meczu= safe_traverse(match, ["eventId"], default=""), self.db.increment_fields("sportowcy",zewnetrzne_id_sportowca, - ostatni_mecz= safe_traverse(match, ["eventId"], default=0), #TODO: Zaktualizuj statystyki sportowca - ilosc_wystapien= safe_traverse(match, ["eventId"], default=0), #TODO: Zaktualizuj statystyki sportowca + ostatni_mecz= self.db.get_id_meczu_by_zewnetrzne_id(self.db, zewnetrzne_id_meczu), + ilosc_wystapien= 1 if get_stat_value(stats, "595") > 0 else 0 , minut_gry= get_stat_value(stats, "595"), gier_sum= 1 if get_stat_value(stats, "595") > 0 else 0 , goli_sum= get_stat_value(stats, "596"), asyst_sum= get_stat_value(stats, "541"), - interwencji_sum= safe_traverse(match, ["eventId"], default=0), #TODO: Zaktualizuj statystyki sportowca - nieobronionych_interwencji_sum= safe_traverse(match, ["eventId"], default=0), #TODO: Zaktualizuj statystyki sportowca + interwencji_sum= 0, + nieobronionych_interwencji_sum= 0, zoltych_kartek_sum= get_stat_value(stats, "599"), czerwonych_kartek_sum= get_stat_value(stats, "600"), wygranych_sum = 1 if safe_traverse(match, ["winLoseShort"], default=0) == "Z" else 0, - wynik_sum= safe_traverse(match, ["eventId"], default=0), #TODO: Zaktualizuj statystyki sportowca - meczow_do_wynikow_sum= safe_traverse(match, ["eventId"], default=0), #TODO: Zaktualizuj statystyki sportowca + wynik_sum= safe_traverse(match, ["rating"], default=0), + meczow_do_wynikow_sum= 1 if (rating := safe_traverse(match, ["rating"], default=0)) not in (0, None) else None + ) # TODO: Zaktualizuj statystyki sportowca diff --git a/FlaskWebProject/FlaskWebProject/lewy_db.py b/FlaskWebProject/FlaskWebProject/lewy_db.py index 96a60f8..a68d69e 100644 --- a/FlaskWebProject/FlaskWebProject/lewy_db.py +++ b/FlaskWebProject/FlaskWebProject/lewy_db.py @@ -341,6 +341,18 @@ class baza(): self.session.commit() return 0 @exit_gracefully + def get_id_meczu_by_zewnetrzne_id(session: Session, external_id: str) -> int | None: + """ + Zwraca id_meczu na podstawie zewnetrzne_id_meczu. + + :param session: aktywna sesja SQLAlchemy + :param external_id: zewnętrzne ID meczu + :return: id_meczu lub None jeśli nie znaleziono + """ + stmt = select(mecze.id_meczu).where(mecze.zewnetrzne_id_meczu == external_id) + result = session.execute(stmt).scalar_one_or_none() + return result + @exit_gracefully def simple_update_one(self, entity_type, record_id, **kwargs): """ Użycie: