From 99d454a56654089cb8cb85958d5165fd0924e741 Mon Sep 17 00:00:00 2001 From: KenanZhu <3471685733@qq.com> Date: Thu, 19 Feb 2026 17:05:42 +0800 Subject: [PATCH] =?UTF-8?q?refactor(LibChecker,=20AutoLib):=20=E9=87=8D?= =?UTF-8?q?=E6=9E=84=20LibChecker=20=E7=B1=BB=E4=B8=AD=20canRenew=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E7=9A=84=E8=BF=94=E5=9B=9E=E5=80=BC=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=EF=BC=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将 canRenew 方法的返回值类型指定为 tuple(bool, dict),并随之修改返回值以及调用 模块的调用逻辑。 --- src/operators/AutoLib.py | 3 ++- src/operators/LibChecker.py | 9 +++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/operators/AutoLib.py b/src/operators/AutoLib.py index 1b6fd96..649e551 100644 --- a/src/operators/AutoLib.py +++ b/src/operators/AutoLib.py @@ -252,7 +252,8 @@ class AutoLib(MsgBase): result = 2 # renewal if run_mode["auto_renewal"] and result == 2: - if record := self.__lib_checker.canRenew(): + can_renew, record = self.__lib_checker.canRenew() + if can_renew: if self.__lib_renew.renew(username, record, reserve_info): if self.__lib_checker.postRenewCheck(record): result = 0 diff --git a/src/operators/LibChecker.py b/src/operators/LibChecker.py index e296527..6560efd 100644 --- a/src/operators/LibChecker.py +++ b/src/operators/LibChecker.py @@ -309,7 +309,7 @@ class LibChecker(LibOperator): def canRenew( self - ): + ) -> tuple[bool, dict]: # only check the current date date = time.strftime("%Y-%m-%d", time.localtime()) @@ -326,12 +326,13 @@ class LibChecker(LibOperator): ) if abs(time_diff_seconds) < 120*60: self._showTrace(f"{trace_msg}, 可以续约") - return record + return True, record else: self._showTrace(f"{trace_msg}, 无法续约") - return None + return False, None # we do not need to return the record, because if current + # time is not available for renewal, the record is not required self._showTrace(f"用户在 {date} 没有有效预约记录, 无法续约") - return None + return False, None def postRenewCheck(