mirror of
https://github.com/A-Minos/nonebot-plugin-tetris-stats.git
synced 2026-03-05 05:36:54 +08:00
🎨 🔥 去除一个没什么用的函数
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
import sys
|
import sys
|
||||||
from os import environ
|
from os import environ
|
||||||
from platform import system
|
from platform import system
|
||||||
|
from re import sub
|
||||||
|
|
||||||
from nonebot import get_driver
|
from nonebot import get_driver
|
||||||
from nonebot.log import logger
|
from nonebot.log import logger
|
||||||
@@ -33,12 +34,12 @@ class BrowserManager:
|
|||||||
raise ImportError('加载失败, Windows 必须设置 FASTAPI_RELOAD=false 才能正常运行 playwright')
|
raise ImportError('加载失败, Windows 必须设置 FASTAPI_RELOAD=false 才能正常运行 playwright')
|
||||||
logger.info('开始 安装/更新 playwright 浏览器')
|
logger.info('开始 安装/更新 playwright 浏览器')
|
||||||
environ['PLAYWRIGHT_DOWNLOAD_HOST'] = 'https://npmmirror.com/mirrors/playwright/'
|
environ['PLAYWRIGHT_DOWNLOAD_HOST'] = 'https://npmmirror.com/mirrors/playwright/'
|
||||||
if cls._handle_error(cls._call_playwright(['', 'install', 'firefox'])):
|
if cls._call_playwright(['', 'install', 'firefox']):
|
||||||
logger.success('安装/更新 playwright 浏览器成功')
|
logger.success('安装/更新 playwright 浏览器成功')
|
||||||
else:
|
else:
|
||||||
logger.warning('playwright 浏览器 安装/更新 失败, 尝试使用原始仓库下载')
|
logger.warning('playwright 浏览器 安装/更新 失败, 尝试使用原始仓库下载')
|
||||||
del environ['PLAYWRIGHT_DOWNLOAD_HOST']
|
del environ['PLAYWRIGHT_DOWNLOAD_HOST']
|
||||||
if cls._handle_error(cls._call_playwright(['', 'install', 'firefox'])):
|
if cls._call_playwright(['', 'install', 'firefox']):
|
||||||
logger.success('安装/更新 playwright 浏览器成功')
|
logger.success('安装/更新 playwright 浏览器成功')
|
||||||
else:
|
else:
|
||||||
logger.error('安装/更新 playwright 浏览器失败')
|
logger.error('安装/更新 playwright 浏览器失败')
|
||||||
@@ -52,26 +53,20 @@ class BrowserManager:
|
|||||||
logger.success('playwright 启动成功')
|
logger.success('playwright 启动成功')
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _call_playwright(cls, argv: list[str]) -> BaseException:
|
def _call_playwright(cls, argv: list[str]) -> bool:
|
||||||
"""等价于调用 playwright 的命令行程序"""
|
"""等价于调用 playwright 的命令行程序"""
|
||||||
argv_backup = sys.argv.copy()
|
argv_backup = sys.argv.copy()
|
||||||
from re import sub
|
|
||||||
|
|
||||||
sys.argv[0] = sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
sys.argv[0] = sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||||
sys.argv = argv
|
sys.argv = argv
|
||||||
try:
|
try:
|
||||||
main()
|
main()
|
||||||
except BaseException as e: # noqa: BLE001 不在这里处理 playwright 的异常
|
except SystemExit as e:
|
||||||
return e
|
return e.code == 0
|
||||||
|
except BaseException: # noqa: BLE001
|
||||||
|
return False
|
||||||
finally:
|
finally:
|
||||||
sys.argv = argv_backup
|
sys.argv = argv_backup
|
||||||
return SystemExit(0)
|
return True
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def _handle_error(cls, error: BaseException) -> bool:
|
|
||||||
if isinstance(error, SystemExit) and error.code == 0:
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
async def _start_browser(cls) -> Browser:
|
async def _start_browser(cls) -> Browser:
|
||||||
|
|||||||
Reference in New Issue
Block a user