From 4ed3fd6039a54db8eb69a595e25bbc6d4acbaf89 Mon Sep 17 00:00:00 2001 From: student_2333 Date: Mon, 11 Nov 2024 18:44:04 +0800 Subject: [PATCH] up --- cooaki/akinator.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/cooaki/akinator.py b/cooaki/akinator.py index eb369d2..6785148 100644 --- a/cooaki/akinator.py +++ b/cooaki/akinator.py @@ -1,7 +1,7 @@ import re from contextlib import asynccontextmanager, suppress from dataclasses import dataclass -from typing import Any, Dict, List, Optional, cast +from typing import Any, Dict, Optional from cookit.pyd import type_validate_json from httpx import AsyncClient, Cookies @@ -169,15 +169,15 @@ async def start(self): async with self.create_client() as cli: resp_text = (await cli.post(url, data=data)).raise_for_status().text - session_match = re.search(r'name="session"\s+id="session"\s+value="([^"]+)"', resp_text) - if not session_match: + input_reg = r'name="{}"\s+id="{}"\s+value="(?P.+?)"' + + if not (session_m := re.search(input_reg.format("session"), resp_text)): raise ValueError("Failed to find session") - session = session_match.group(1) + session: str = session_m["value"] - signature_match = re.search(r'name="signature"\s+id="signature"\s+value="([^"]+)"', resp_text) - if not signature_match: + if not (signature_m := re.search(input_reg.format("signature"), resp_text)): raise ValueError("Failed to find signature") - signature = signature_match.group(1) + signature: str = signature_m["value"] question_match = re.search( (