добавлена библиотека nasio

This commit is contained in:
2025-11-11 15:14:29 +03:00
parent 711e217d6e
commit df0b6f8678
7 changed files with 16 additions and 233 deletions

View File

@@ -10,8 +10,8 @@ import uvicorn
from threading import Thread, Event, Lock
import time
from contextlib import asynccontextmanager
#from smb_excel import read_excel_from_smb, fetch_smb_file
import numpy as np
import nasio
# --- Глобальные переменные ---
@@ -36,13 +36,10 @@ api_user = os.getenv("API_USER")
api_pass = os.getenv("API_PASS")
league = os.getenv("LEAGUE")
POLL_SEC = int(os.getenv("GAME_POLL_SECONDS"))
SERVER_NAME = os.getenv("SERVER_NAME")
SERVER_IP = os.getenv("SERVER_IP")
SHARE = os.getenv("SHARE")
PATH_IN_SHARE = os.getenv("PATH_IN_SHARE")
USER = os.getenv("USER")
PASSWORD = os.getenv("PASSWORD")
DOMAIN = os.getenv("DOMAIN")
SERVER_NAME = os.getenv("SYNO_URL")
USER = os.getenv("SYNO_USERNAME")
PASSWORD = os.getenv("SYNO_PASSWORD")
PATH = "/team-folders/GFX/Hockey/KHL/Soft/MATCH.xlsm"
@@ -652,25 +649,6 @@ def _build_all_stats(payload: dict) -> dict:
})
return result
def xl():
df = read_excel_from_smb(
server_name=SERVER_NAME,
server_ip=SERVER_IP,
share_name=SHARE,
file_path_in_share=PATH_IN_SHARE,
username=USER,
password=PASSWORD,
domain=DOMAIN,
client_machine_name="KHL_SOFT",
sheet_name="TEAMS", # или None, или список листов
)
df = df.replace([float("inf"), float("-inf")], pd.NA)
columns_to_keep = [
"Team", "Logo", "Short", "HexPodl", # ← укажи свои
]
df = df.loc[:, [c for c in columns_to_keep if c in df.columns]]
json_text = df.to_json(orient="records", force_ascii=False) # NaN/NA -> null
return Response(content=json_text, media_type="application/json; charset=utf-8")
@app.get("/teams/stats")
async def teams_stats(
@@ -756,16 +734,13 @@ async def info():
away_name = str(row.get("visitorName_en", "")).strip()
# 3) Подтягиваем справочник команд из Excel (лист TEAMS)
teams_df = read_excel_from_smb(
server_name=SERVER_NAME,
server_ip=SERVER_IP,
share_name=SHARE,
file_path_in_share=PATH_IN_SHARE,
username=USER,
teams_df = nasio.load_formatted(
user=USER,
password=PASSWORD,
domain=DOMAIN,
client_machine_name="KHL_SOFT",
sheet_name="TEAMS",
nas_ip=SERVER_NAME,
nas_port="443",
path=PATH,
sheet="TEAMS"
)
# Оставляем только полезные поля (подгони под свой файл)