From b6a7429502dd4e2cf0cd51151c9bd3ee53313b8b Mon Sep 17 00:00:00 2001 From: ForgQi <34411314+ForgQi@users.noreply.github.com> Date: Tue, 31 Aug 2021 23:39:10 +0800 Subject: [PATCH] Add daemon=True --- biliup/__init__.py | 2 +- biliup/common/__init__.py | 3 +++ biliup/engine/event.py | 2 +- biliup/plugins/bili_webup.py | 11 ++++++++--- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/biliup/__init__.py b/biliup/__init__.py index 1674cbf..278b041 100644 --- a/biliup/__init__.py +++ b/biliup/__init__.py @@ -6,7 +6,7 @@ from .common.timer import Timer from .engine.event import Event from .engine import config -__version__ = "0.1.4" +__version__ = "0.1.6" async def main(): diff --git a/biliup/common/__init__.py b/biliup/common/__init__.py index b2f4dcf..6b647fc 100644 --- a/biliup/common/__init__.py +++ b/biliup/common/__init__.py @@ -17,6 +17,9 @@ def time_now(fmt='%Y.%m.%d'): def new_hook(t, v, tb): + if issubclass(t, KeyboardInterrupt): + sys.__excepthook__(t, v, tb) + return logging.getLogger('biliup').error("Uncaught exception:", exc_info=(t, v, tb)) diff --git a/biliup/engine/event.py b/biliup/engine/event.py index 8c06879..c9ce3a7 100644 --- a/biliup/engine/event.py +++ b/biliup/engine/event.py @@ -12,7 +12,7 @@ import functools class EventManager(Thread): def __init__(self, context=None, pool1_size=3, pool2_size=3): """初始化事件管理器""" - super().__init__(name='Synchronous') + super().__init__(name='Synchronous', daemon=True) if context is None: context = {} self.context = context diff --git a/biliup/plugins/bili_webup.py b/biliup/plugins/bili_webup.py index e026d60..91fcbe3 100644 --- a/biliup/plugins/bili_webup.py +++ b/biliup/plugins/bili_webup.py @@ -79,6 +79,7 @@ class BiliBili: self.cookies = None self.access_token = None self.refresh_token = None + self.account = None self.__bili_jct = None self._auto_os = None self.persistence_path = 'engine/bili.cookie' @@ -92,14 +93,16 @@ class BiliBili: self.cookies = user['cookies'] if not self.access_token and user.get('access_token'): self.access_token = user['access_token'] + if not self.account and user.get('account'): + self.account = user['account'] if self.cookies: try: self.login_by_cookies(self.cookies) except: logger.exception('login error') - self.login_by_password(**user['account']) + self.login_by_password(**self.account) else: - self.login_by_password(**user['account']) + self.login_by_password(**self.account) self.store() def load(self): @@ -402,7 +405,9 @@ class BiliBili: def submit_client(self): logger.info('使用客户端api端提交') if not self.access_token: - self.login_by_password(**config['user']['account']) + if self.account is None: + raise RuntimeError("Access token is required, but account and access_token does not exist!") + self.login_by_password(**self.account) self.store() while True: ret = self.__session.post(f'http://member.bilibili.com/x/vu/client/add?access_key={self.access_token}',