From 0a37911ea19bd2961d3a3636378453abdd371ff0 Mon Sep 17 00:00:00 2001 From: GamerNoTitle Date: Sun, 22 Sep 2024 18:17:24 +0800 Subject: [PATCH] update --- app/main.py | 42 +++++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/app/main.py b/app/main.py index 822c33d..e782d0a 100644 --- a/app/main.py +++ b/app/main.py @@ -22,6 +22,7 @@ BUILD_NUMBER = "2024.1.4+Build+CL-241.18034.45" # Configure static files app.mount("/static", StaticFiles(directory="app/static"), name="static") + # Parse xml response def get_xml_data(server: str, ticket_path: str): client = httpx.Client(verify=False) @@ -40,17 +41,21 @@ def get_xml_data(server: str, ticket_path: str): "server_uid": root.find("serverUid").text, "validation_deadline_period": root.find("validationDeadlinePeriod").text, "validation_period": root.find("validationPeriod").text, - "message": root.find("message").text + "message": root.find("message").text, } except httpx.ReadTimeout: return {"error": "Timeout: Please try again later."} except Exception as e: - return {"error": f"An unexpected error occurred: {str(e)}. It seems that this server is not avaliable or you can try again later."} + return { + "error": f"An unexpected error occurred: {str(e)}. It seems that this server is not avaliable or you can try again later." + } + @app.get("/", response_class=HTMLResponse) async def index(request: Request): return templates.TemplateResponse("index.html", {"request": request}) + @app.post("/fetch", response_class=HTMLResponse) async def fetch_data(request: Request, server: str = Form(...)): RELEASE_TICKET_PATH = f"/rpc/releaseTicket.action?buildNumber={BUILD_NUMBER}&clientVersion=16&hostName={DESKTOP_NAME}&machineId={MACHINE_ID}&productCode=cfc7082d-ae43-4978-a2a2-46feb1679405&productFamilyId=cfc7082d-ae43-4978-a2a2-46feb1679405&salt=1726973268812&secure=false&ticketId=rsoaehfbbg&userName={USERNAME}" @@ -59,18 +64,23 @@ async def fetch_data(request: Request, server: str = Form(...)): release_ticket_data = get_xml_data(server, RELEASE_TICKET_PATH) obtain_ticket_data = get_xml_data(server, OBTAIN_TICKET_PATH) - return templates.TemplateResponse("index.html", { - "request": request, - "release_data": release_ticket_data, - "obtain_data": obtain_ticket_data, - "server": server - }) + return templates.TemplateResponse( + "index.html", + { + "request": request, + "release_data": release_ticket_data, + "obtain_data": obtain_ticket_data, + "server": server, + }, + ) + @app.get("/api/fetch") @app.post("/api/fetch") async def api_fetch(server: str = Form(...)): return await handle_fetch(server) + async def handle_fetch(server: str): RELEASE_TICKET_PATH = f"/rpc/releaseTicket.action?buildNumber={BUILD_NUMBER}&clientVersion=16&hostName={DESKTOP_NAME}&machineId={MACHINE_ID}&productCode=cfc7082d-ae43-4978-a2a2-46feb1679405&productFamilyId=cfc7082d-ae43-4978-a2a2-46feb1679405&salt=1726973268812&secure=false&ticketId=rsoaehfbbg&userName={USERNAME}" OBTAIN_TICKET_PATH = f"/rpc/obtainTicket.action?buildDate=20240409&{BUILD_NUMBER}&clientVersion=16&hostName={DESKTOP_NAME}&machineId={MACHINE_ID}&productCode=cfc7082d-ae43-4978-a2a2-46feb1679405&productFamilyId=cfc7082d-ae43-4978-a2a2-46feb1679405&salt=1726973269845&secure=false&userName={USERNAME}&version={VERSION}&versionNumber={VERSION}" @@ -84,11 +94,13 @@ async def handle_fetch(server: str): elif obtain_ticket_data.get("response_code") == "Error": available = False - return JSONResponse(content={ - "available": available, - "message": obtain_ticket_data.get("message", ""), - "data": { - "release_ticket_data": release_ticket_data, - "obtain_ticket_data": obtain_ticket_data, + return JSONResponse( + content={ + "available": available, + "message": obtain_ticket_data.get("message", ""), + "data": { + "release_ticket_data": release_ticket_data, + "obtain_ticket_data": obtain_ticket_data, + }, } - }) \ No newline at end of file + )