执行 Ruff 安全自动修复
This commit is contained in:
@@ -5,18 +5,21 @@ import os
|
||||
import threading
|
||||
import time
|
||||
import uuid
|
||||
from types import SimpleNamespace
|
||||
from concurrent.futures import ThreadPoolExecutor, as_completed
|
||||
from datetime import datetime, timezone
|
||||
from typing import Optional, cast
|
||||
from datetime import UTC, datetime
|
||||
from types import SimpleNamespace
|
||||
from typing import cast
|
||||
|
||||
from sqlalchemy.orm import Session
|
||||
from loguru import logger
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from core.douyu import DouyuLogin, WgapiLoginAPI, IframeLoginAPI
|
||||
from core.douyu import DouyuLogin, IframeLoginAPI, WgapiLoginAPI
|
||||
from core.douyu.login import AccountLike
|
||||
from core.douyu.proxy_fetcher import ProxyFetcher
|
||||
from ..models import Account as AccountModel, LoginTask, ProxyConfig as ProxyConfigModel
|
||||
|
||||
from ..models import Account as AccountModel
|
||||
from ..models import LoginTask
|
||||
from ..models import ProxyConfig as ProxyConfigModel
|
||||
from .cookie_check_service import check_douyu_cookie
|
||||
|
||||
|
||||
@@ -62,8 +65,8 @@ def get_relogin_limits() -> tuple[int, int]:
|
||||
|
||||
|
||||
def _snapshot_proxy_config(
|
||||
proxy_config: Optional[ProxyConfigModel],
|
||||
) -> Optional[ProxyConfigModel]:
|
||||
proxy_config: ProxyConfigModel | None,
|
||||
) -> ProxyConfigModel | None:
|
||||
"""复制代理配置,避免后台线程访问已关闭会话中的 ORM 对象。"""
|
||||
if proxy_config is None:
|
||||
return None
|
||||
@@ -97,13 +100,13 @@ class LoginBatchRunner:
|
||||
creator_permissions: list[str],
|
||||
max_login_retries: int = 0,
|
||||
max_total_time: float = 0,
|
||||
proxy_config: Optional[ProxyConfigModel] = None,
|
||||
log_queue: Optional[asyncio.Queue] = None,
|
||||
loop: Optional[asyncio.AbstractEventLoop] = None,
|
||||
proxy_config: ProxyConfigModel | None = None,
|
||||
log_queue: asyncio.Queue | None = None,
|
||||
loop: asyncio.AbstractEventLoop | None = None,
|
||||
concurrency: int = 3,
|
||||
api_strategy: str = "wgapi",
|
||||
mode: str = "login",
|
||||
relogin_task_ids: Optional[list[int]] = None,
|
||||
relogin_task_ids: list[int] | None = None,
|
||||
):
|
||||
self.db = db
|
||||
self.account_ids = account_ids
|
||||
@@ -179,7 +182,7 @@ class LoginBatchRunner:
|
||||
if task and task.status in ("relogin_pending", "relogin_running"):
|
||||
task.status = "relogin_failed"
|
||||
task.message = message
|
||||
task.finished_at = datetime.now(timezone.utc)
|
||||
task.finished_at = datetime.now(UTC)
|
||||
worker_db.commit()
|
||||
finally:
|
||||
worker_db.close()
|
||||
@@ -199,7 +202,7 @@ class LoginBatchRunner:
|
||||
self.loop,
|
||||
)
|
||||
|
||||
def _resolve_static_proxy(self) -> tuple[Optional[dict], str]:
|
||||
def _resolve_static_proxy(self) -> tuple[dict | None, str]:
|
||||
"""解析静态代理配置。"""
|
||||
if not self.proxy_config or not self.proxy_config.enabled:
|
||||
return None, ""
|
||||
@@ -270,7 +273,7 @@ class LoginBatchRunner:
|
||||
else:
|
||||
task.status = "error"
|
||||
task.message = "代理不可用: 未配置代理"
|
||||
task.finished_at = datetime.now(timezone.utc)
|
||||
task.finished_at = datetime.now(UTC)
|
||||
worker_db.commit()
|
||||
self._push_log(
|
||||
"error", f"[{current}] {acc_info['username']} 代理不可用"
|
||||
@@ -384,7 +387,7 @@ class LoginBatchRunner:
|
||||
f"[{current}] {acc_info['username']} {action_name}异常: {e}",
|
||||
)
|
||||
|
||||
task.finished_at = datetime.now(timezone.utc)
|
||||
task.finished_at = datetime.now(UTC)
|
||||
worker_db.commit()
|
||||
|
||||
finally:
|
||||
@@ -581,10 +584,10 @@ class BatchRegistry:
|
||||
def register(
|
||||
self,
|
||||
batch_id: str,
|
||||
log_queue: Optional[asyncio.Queue],
|
||||
loop: Optional[asyncio.AbstractEventLoop],
|
||||
log_queue: asyncio.Queue | None,
|
||||
loop: asyncio.AbstractEventLoop | None,
|
||||
runner: LoginBatchRunner,
|
||||
owner_id: Optional[int] = None,
|
||||
owner_id: int | None = None,
|
||||
):
|
||||
self._batches[batch_id] = {
|
||||
"log_queue": log_queue,
|
||||
@@ -630,7 +633,7 @@ def cleanup_orphan_relogin_tasks(
|
||||
if not tasks:
|
||||
return 0
|
||||
|
||||
finished_at = datetime.now(timezone.utc)
|
||||
finished_at = datetime.now(UTC)
|
||||
for task in tasks:
|
||||
task.status = "relogin_failed"
|
||||
task.message = message
|
||||
|
||||
Reference in New Issue
Block a user