From d95b5f10d12166b793f899bef1df5cc35f5da4f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=AE=D1=80=D0=B8=D0=B9=20=D0=A7=D0=B5=D1=80=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=BA=D0=BE?= Date: Thu, 6 Nov 2025 11:56:24 +0300 Subject: [PATCH] =?UTF-8?q?=D1=81=D0=BA=D1=80=D1=8B=D0=BB=20docs=20=D0=B8?= =?UTF-8?q?=20=D1=82=D0=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __pycache__/get_data.cpython-312.pyc | Bin 14585 -> 15952 bytes get_data.py | 51 ++++++++++++++++++++++++--- 2 files changed, 46 insertions(+), 5 deletions(-) diff --git a/__pycache__/get_data.cpython-312.pyc b/__pycache__/get_data.cpython-312.pyc index 3cab7a8b372afc7e48bd7f0fa10cb6182666d4f3..a015ccd935089c9d03bee94bb8ee1eda513ae675 100644 GIT binary patch delta 1593 zcmcIjUuYaf7@wK_lij=g+54Z%YIE3YlS|sB7n5sCD>Pn^mQcaQwkXCBGn+K&B{sVk zVkPCyKcGIfG7nX%aI`)Y(t>(W`j|i;N(*w!Jv6Q_ReaF5jX^LX=*;frV38|%>A-yR zeZSxL{dRWdo2`Y)a_gg(79XHPT=36a8T`Dp9p3n^>lk-o|Lhopy#sfzKo`NOkHJcf zd^4jR!aWzd0npnK(3IJW-YOR1Uc3+Q#|LoV?Sm_V%R_L9yTql^YYsPmh3agJN2Rr)ipw-oY4fNk4OLvG zkxIa$5^SjAG6nA+(ZfN@XcXMxXzPSt)#vFsSp4+FoMuUL^s3V1GuZX|9WPhMnCD=! zn>W8WX9R;SK?+$SCEw9>OPX3N zq_gg~1mj|ECZFOgnRWO$>oLn;Yb=B9vxPz9+lax@qC_I0zYRbESWPutzfa*4bhF0y z)cgkiDuQ2?L@8=2-Nlnnq`=j^rWF68$CUQ0?<}xoAtchrq<~nWB%0B#TYfV-u&yRc zXH9kAt#hV2__&}RHPxe4^`(0grh2^6F|-<3J@VkJnSH%-<}EWj_BcCfW+$sztui%j zX3tk%o~g9YZU~(0vwcsI-LY!n*~so#)j5P6@AiMPY9JyOPuWS(9Ix>0TZTxl@WbK6 z@C#&X;5B%pJTiD1!u#aQOqcIRO0iBfhRY8#2u77s)&@bSe7oCO?j<)_M1DDRrY&BD zp$#+!;jT>%pfGvm@WMc>3IiKRgy#^$g0|z@L4br$Vjsjl?Wn@=2I_!u#zt)B*~iEa HhkO46i(tGy delta 430 zcmcam^RtleG%qg~0}wQ)aA%enPUMqdEZL}T!)$AoqLHn^z)&Q?#E>eGl?PIS3Q{yv zv{JNFbW(KJ=&fdj$T2chGFLKd>Tf>B+|SSWZE~FOHhHERmK4@GOu-Dw3?%|EBUBiQ z1Q{7pSZbIjFJKiB%4Do%iDc-JD`%)+j$|lj)MT3+Dw4y)bc?yPDCZVSR&jpb8L?;wZ zFPm7_QQyV#ffXq7t5^uA?;xjuqa4FQIdMk|=7Z*pjux9Aik5KlaOt&r;o;^23&ev3PG~!_F=kEXGMdiD1y;Cukx>TIWPPguMvKi2RzZxDuUji~9R?cD z2*kzen^|m_7{$~UIDcReVpQ9p45oIdd dict: # если это не JSON — вернём текст data = {"raw": r.text} - return {"url": url, "json": data} + return data def _game_poll_worker(): @@ -166,7 +166,12 @@ async def lifespan(app: FastAPI): _worker_thread.join(timeout=2) print("🛑 Background thread stopped") -app = FastAPI(lifespan=lifespan) +app = FastAPI( + lifespan=lifespan, + docs_url=None, # ❌ отключает /docs + redoc_url=None, # ❌ отключает /redoc + openapi_url=None # ❌ отключает /openapi.json +) @app.get("/games") @@ -179,8 +184,8 @@ async def games(): return Response(content=json_schedule, media_type="application/json") -@app.get("/games/html") -async def games_html(): +@app.get("/select") +async def select(): df = load_today_schedule() if df.empty: return HTMLResponse( @@ -315,7 +320,7 @@ async def game_url(): "tournament_id": current_tournament_id }) -@app.get("/game/data") +@app.get("/data") async def game_data(): with _latest_lock: if latest_game_data: @@ -324,6 +329,42 @@ async def game_data(): return JSONResponse({"error": latest_game_error}, status_code=502) return JSONResponse({"message": "Ещё нет данных. Выберите матч и подождите первое обновление."}) + +@app.get("/referee") +async def referee(): + json_data = latest_game_data["data"] + referees_id = [ + json_data["game"]["mref1_id"], + json_data["game"]["mref2_id"], + json_data["game"]["lref1_id"], + json_data["game"]["lref2_id"], + ] + data_referees = [ + { + "number": json_data["game"]["mref1_num"], + "fullname": f'{json_data["game"]["mref1"].split()[1]} {json_data["game"]["mref1"].split()[0]}', + }, + { + "number": json_data["game"]["mref2_num"], + "fullname": f'{json_data["game"]["mref2"].split()[1]} {json_data["game"]["mref2"].split()[0]}', + }, + { + "number": json_data["game"]["lref1_num"], + "fullname": f'{json_data["game"]["lref1"].split()[1]} {json_data["game"]["lref1"].split()[0]}', + }, + { + "number": json_data["game"]["lref2_num"], + "fullname": f'{json_data["game"]["lref2"].split()[1]} {json_data["game"]["lref2"].split()[0]}', + }, + ] + return data_referees + + + +# def team(who:str): + + + if __name__ == "__main__": uvicorn.run( "get_data:app", host="0.0.0.0", port=8000, reload=True, log_level="debug"