Compare commits
8 Commits
323a8b4973
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| afa666d2fd | |||
| b0ea0a836b | |||
| 327aabde78 | |||
| 7ed241bc00 | |||
| ac2335a3bc | |||
| 45dfd38f9a | |||
| 04b12d4657 | |||
| 687bdedf88 |
@@ -177,6 +177,21 @@ class scraper:
|
||||
stats = safe_traverse(match, ["stats"], default="")
|
||||
zewnetrzne_id_meczu = safe_traverse(match, ["eventEncodedId"], default="")
|
||||
|
||||
wygrana_str = safe_traverse(match, ["winLoseShort"], default="R").upper()
|
||||
klub_zawodnika = "undefined"
|
||||
# Zwycięstwo klubu zawodnika
|
||||
if wygrana_str == "Z":
|
||||
if safe_traverse(match, ["homeScore"], default=0) > safe_traverse(match, ["awayScore"], default=0):
|
||||
klub_zawodnika = home_club_id
|
||||
else:
|
||||
klub_zawodnika = away_club_id
|
||||
# Przegrana klubu zawodnika
|
||||
elif wygrana_str == "P":
|
||||
if safe_traverse(match, ["homeScore"], default=0) > safe_traverse(match, ["awayScore"], default=0):
|
||||
klub_zawodnika = away_club_id
|
||||
else:
|
||||
klub_zawodnika = home_club_id
|
||||
|
||||
if stats != False: # gdy sportowiec był aktywny w meczu
|
||||
# print("todo :)")
|
||||
self.db.simple_insert_one("sportowcy_w_meczach",
|
||||
@@ -193,7 +208,8 @@ class scraper:
|
||||
zolte_kartki = int("0" + safe_traverse(stats, ["599", "value"], default="0")),
|
||||
czerwone_kartki = int("0" + safe_traverse(stats, ["600", "value"], default="0")),
|
||||
wygrana = {"Z": 1, "R": 0, "P": -1}.get(safe_traverse(match, ["winLoseShort"], default=""), 0),
|
||||
wynik = safe_traverse(match, ["rating"], default=0) or 0
|
||||
wynik = safe_traverse(match, ["rating"], default=0) or 0,
|
||||
klub_id = klub_zawodnika
|
||||
)
|
||||
|
||||
# # analogicznie zinkrementuj statystyki_sportowcow:
|
||||
@@ -236,7 +252,8 @@ class scraper:
|
||||
zolte_kartki = int("0" + safe_traverse(stats, ["599", "value"], default="0")),
|
||||
czerwone_kartki = int("0" + safe_traverse(stats, ["600", "value"], default="0")),
|
||||
wygrana = {"Z": 1, "R": 0, "P": -1}.get(safe_traverse(match, ["winLoseShort"], default=""), 0),
|
||||
wynik = safe_traverse(match, ["rating"], default=0) or 0
|
||||
wynik = safe_traverse(match, ["rating"], default=0) or 0,
|
||||
klub_id = klub_zawodnika
|
||||
)
|
||||
|
||||
# TODO: Zaktualizuj statystyki sportowca
|
||||
|
||||
@@ -18,7 +18,7 @@ scr = None
|
||||
def setup():
|
||||
# sanity check: make sure config is set
|
||||
# required to make `flask --app lewy run --debug` work
|
||||
global config, app_host, app_port, scrape
|
||||
global config, app_host, app_port, scr
|
||||
try:
|
||||
if not config['general']:
|
||||
lewy_globals.setConfig(lewy_globals.configfile)
|
||||
|
||||
@@ -60,6 +60,9 @@ def __czy_x_istnieje(typ, **id):
|
||||
def czy_sportowiec_istnieje(id_zawodnika: str):
|
||||
return __czy_x_istnieje("sportowcy", id_zawodnika=id_zawodnika)
|
||||
|
||||
def czy_klub_istnieje(id_klubu: str):
|
||||
return __czy_x_istnieje("kluby", id_klubu=id_klubu)
|
||||
|
||||
# GET /api/v1
|
||||
def stub_hello():
|
||||
"""
|
||||
@@ -95,7 +98,7 @@ def stats():
|
||||
return 200, "ok", data_to_send
|
||||
|
||||
# GET /api/v1/matches
|
||||
def get_matches(r = None, id_zawodnika: str | None = None, rok: int | None = None):
|
||||
def get_matches(r = None, id_zawodnika: int | None = None, rok: int | None = None):
|
||||
"""
|
||||
Zwraca mecze.
|
||||
Przykład wywołania:
|
||||
@@ -134,7 +137,7 @@ def get_matches(r = None, id_zawodnika: str | None = None, rok: int | None = Non
|
||||
return 200, "ok", response_json
|
||||
|
||||
# GET /api/v1/player_stats
|
||||
def player_stats(r = None, id_zawodnika: str | None = None):
|
||||
def player_stats(r = None, id_zawodnika: int | None = None):
|
||||
"""
|
||||
Zwraca statystyki gracza.
|
||||
Przykład wywołania:
|
||||
@@ -148,7 +151,7 @@ def player_stats(r = None, id_zawodnika: str | None = None):
|
||||
id_zawodnika = r.args.get('id_zawodnika', 0)
|
||||
|
||||
# Sprawdź, czy sportowiec o podanym (lub niepodanym) id istnieje.
|
||||
elif not czy_sportowiec_istnieje(id_zawodnika=id_zawodnika):
|
||||
if not czy_sportowiec_istnieje(id_zawodnika=id_zawodnika):
|
||||
return 404, "error", {"error_msg": "This sportsman has not been found in the database. Try: id_zawodnika=1"}
|
||||
|
||||
# Gdy sportowiec istnieje, wypisz jego statystyki.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from datetime import datetime
|
||||
from flask_sqlalchemy import SQLAlchemy
|
||||
from functools import wraps
|
||||
|
||||
from sqlalchemy import ForeignKey, select, insert, update, extract, func, case
|
||||
from sqlalchemy.orm import Mapped, mapped_column, DeclarativeBase, Session, relationship
|
||||
from typing import List
|
||||
import time
|
||||
|
||||
@@ -8,6 +8,9 @@ def get_lewy_stats():
|
||||
stats = player_stats(id_zawodnika=1)[2][0]
|
||||
polska = robert_stats(id_klubu="polska")[2][0]
|
||||
barcelona = robert_stats(id_klubu="barcelona")[2][0]
|
||||
borussia = robert_stats(id_klubu="dortmund")[2][0]
|
||||
bayern = robert_stats(id_klubu="bayern")[2][0]
|
||||
und = robert_stats(id_klubu="undefined")[2][0]
|
||||
return {
|
||||
'all_time_stats': {
|
||||
'goals': stats["goals"], # 589+85
|
||||
@@ -15,9 +18,9 @@ def get_lewy_stats():
|
||||
'matches': stats["unique_items"] # 791+158
|
||||
},
|
||||
'club_stats': {
|
||||
'goals': barcelona["goals"], # 589
|
||||
'assists': barcelona["assists"], # 154
|
||||
'matches': barcelona["unique_items"] # 791 # to trochę na wyrost, bo w części meczy był kontuzjowany
|
||||
'goals': barcelona["goals"] + borussia["goals"] + bayern["goals"]+ und["goals"], # 589
|
||||
'assists': barcelona["assists"] + borussia["assists"] + bayern["assists"]+ und["assists"], # 154
|
||||
'matches': barcelona["unique_items"] + borussia["unique_items"] + bayern["unique_items"]+ und["unique_items"] # 791 # to trochę na wyrost, bo w części meczy był kontuzjowany
|
||||
},
|
||||
'nation_stats': {
|
||||
'goals': polska["goals"], # 85
|
||||
|
||||
@@ -55,6 +55,7 @@
|
||||
<p>Występy</p>
|
||||
</div>
|
||||
</section>
|
||||
<!--
|
||||
<section class="section-stats">
|
||||
<h2>(!) Puchary międzynarodowe</h2>
|
||||
<div class="stats">
|
||||
@@ -89,6 +90,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
-->
|
||||
<section class="section-stats">
|
||||
<h2>Kartki</h2>
|
||||
<div class="stats">
|
||||
|
||||
Reference in New Issue
Block a user