refactor: hoist session id parsing
This commit is contained in:
@@ -26,6 +26,17 @@ from .telegram_client import TelegramClient
|
|||||||
# -------------------- Codex runner --------------------
|
# -------------------- Codex runner --------------------
|
||||||
|
|
||||||
logger = logging.getLogger("exec_bridge")
|
logger = logging.getLogger("exec_bridge")
|
||||||
|
UUID_PATTERN = re.compile(
|
||||||
|
r"(?i)\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def extract_session_id(text: str | None) -> str | None:
|
||||||
|
if not text:
|
||||||
|
return None
|
||||||
|
if m := UUID_PATTERN.search(text):
|
||||||
|
return m.group(0)
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
def setup_logging(log_file: str | None) -> None:
|
def setup_logging(log_file: str | None) -> None:
|
||||||
@@ -643,19 +654,9 @@ def run(
|
|||||||
repr(text),
|
repr(text),
|
||||||
)
|
)
|
||||||
|
|
||||||
uuid_re = re.compile(
|
resume_session = extract_session_id(text)
|
||||||
r"(?i)\\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\\b"
|
|
||||||
)
|
|
||||||
|
|
||||||
def _extract_session_id(value: str | None) -> str | None:
|
|
||||||
if not value:
|
|
||||||
return None
|
|
||||||
m = uuid_re.search(value)
|
|
||||||
return m.group(0) if m else None
|
|
||||||
|
|
||||||
resume_session = _extract_session_id(text)
|
|
||||||
r = msg.get("reply_to_message") or {}
|
r = msg.get("reply_to_message") or {}
|
||||||
resume_session = resume_session or _extract_session_id(r.get("text"))
|
resume_session = resume_session or extract_session_id(r.get("text"))
|
||||||
|
|
||||||
pool.submit(handle, chat_id, user_msg_id, text, resume_session)
|
pool.submit(handle, chat_id, user_msg_id, text, resume_session)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user