修复aiohttp的一些警告

This commit is contained in:
John Smith 2023-07-29 01:22:21 +08:00
parent d5e8054e12
commit 57ec8495e1
3 changed files with 20 additions and 6 deletions

View File

@ -1,5 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import argparse import argparse
import asyncio
import logging import logging
import logging.handlers import logging.handlers
import os import os
@ -16,6 +17,7 @@ import services.avatar
import services.chat import services.chat
import services.translate import services.translate
import update import update
import utils.request
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -37,10 +39,14 @@ def main():
init_logging(args.debug) init_logging(args.debug)
config.init() config.init()
asyncio.get_event_loop().run_until_complete(utils.request.init())
models.database.init(args.debug) models.database.init(args.debug)
services.avatar.init() services.avatar.init()
services.translate.init() services.translate.init()
services.chat.init() services.chat.init()
update.check_update() update.check_update()
run_server(args.host, args.port, args.debug) run_server(args.host, args.port, args.debug)

View File

@ -244,7 +244,7 @@ class TencentTranslateFree(FlowControlTranslateProvider):
self._server_time_delta = int((datetime.datetime.now().timestamp() - server_time) * 1000) self._server_time_delta = int((datetime.datetime.now().timestamp() - server_time) * 1000)
except (KeyError, ValueError): except (KeyError, ValueError):
self._server_time_delta = 0 self._server_time_delta = 0
except (aiohttp.ClientConnectionError, asyncio.TimeoutError): except (aiohttp.ClientError, asyncio.TimeoutError):
logger.exception('TencentTranslateFree init error:') logger.exception('TencentTranslateFree init error:')
return False return False
@ -279,7 +279,7 @@ class TencentTranslateFree(FlowControlTranslateProvider):
reauthuri, r.status, r.reason) reauthuri, r.status, r.reason)
return False return False
data = await r.json() data = await r.json()
except (aiohttp.ClientConnectionError, asyncio.TimeoutError): except (aiohttp.ClientError, asyncio.TimeoutError):
logger.exception('TencentTranslateFree init error:') logger.exception('TencentTranslateFree init error:')
return False return False
@ -345,7 +345,7 @@ class TencentTranslateFree(FlowControlTranslateProvider):
return None return None
self._update_uc_key(r) self._update_uc_key(r)
data = await r.json() data = await r.json()
except (aiohttp.ClientConnectionError, asyncio.TimeoutError): except (aiohttp.ClientError, asyncio.TimeoutError):
return None return None
if data['errCode'] != 0: if data['errCode'] != 0:
logger.warning('TencentTranslateFree failed: %d %s', data['errCode'], data['errMsg']) logger.warning('TencentTranslateFree failed: %d %s', data['errCode'], data['errMsg'])
@ -446,7 +446,7 @@ class TencentTranslate(FlowControlTranslateProvider):
logger.warning('TencentTranslate request failed: status=%d %s', r.status, r.reason) logger.warning('TencentTranslate request failed: status=%d %s', r.status, r.reason)
return None return None
data = (await r.json())['Response'] data = (await r.json())['Response']
except (aiohttp.ClientConnectionError, asyncio.TimeoutError): except (aiohttp.ClientError, asyncio.TimeoutError):
return None return None
error = data.get('Error', None) error = data.get('Error', None)
if error is not None: if error is not None:
@ -554,7 +554,7 @@ class BaiduTranslate(FlowControlTranslateProvider):
logger.warning('BaiduTranslate request failed: status=%d %s', r.status, r.reason) logger.warning('BaiduTranslate request failed: status=%d %s', r.status, r.reason)
return None return None
data = await r.json() data = await r.json()
except (aiohttp.ClientConnectionError, asyncio.TimeoutError): except (aiohttp.ClientError, asyncio.TimeoutError):
return None return None
error_code = data.get('error_code', None) error_code = data.get('error_code', None)
if error_code is not None: if error_code is not None:

View File

@ -1,4 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from typing import *
import aiohttp import aiohttp
# 不带这堆头部有时候也能成功请求,但是带上后成功的概率更高 # 不带这堆头部有时候也能成功请求,但是带上后成功的概率更高
@ -9,4 +11,10 @@ BILIBILI_COMMON_HEADERS = {
' Chrome/114.0.0.0 Safari/537.36' ' Chrome/114.0.0.0 Safari/537.36'
} }
http_session = aiohttp.ClientSession(timeout=aiohttp.ClientTimeout(total=10)) http_session: Optional[aiohttp.ClientSession] = None
# ClientSession要在异步函数中创建
async def init():
global http_session
http_session = aiohttp.ClientSession(timeout=aiohttp.ClientTimeout(total=10))