From 1374a07a44dc32d11f9597743f956c53bd582a07 Mon Sep 17 00:00:00 2001 From: ngfchl Date: Tue, 29 Nov 2022 18:22:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=90=AF=E7=94=A8=20?= =?UTF-8?q?=E6=88=91=E7=9A=84=E7=AB=99=E7=82=B9=20=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E7=AD=BE=E5=88=B0=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pt_site/UtilityTool.py | 18 ++++++++++-------- pt_site/admin.py | 8 +++++--- pt_site/views.py | 4 ++-- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/pt_site/UtilityTool.py b/pt_site/UtilityTool.py index ad27cd6..cd72215 100644 --- a/pt_site/UtilityTool.py +++ b/pt_site/UtilityTool.py @@ -816,17 +816,18 @@ class PtSpider: def do_sign_in(self, pool, queryset: QuerySet[MySite]): message_list = '# 自动签到通知 \n\n### 未显示的站点已经签到过了哟! \n\n' if datetime.now().hour < 9: - # U2每天九点前不签到 - queryset = [my_site for my_site in queryset if 'u2.dmhy.org' not in my_site.site.url and - my_site.signin_set.filter(created_at__date__gte=datetime.today()).count() <= 0 - and my_site.cookie and my_site.site.sign_in_support] - message = '> 站点 U2 早上九点之前不执行签到任务哦! \n\n' + # U2/52PT 每天九点前不签到 + queryset = [my_site for my_site in queryset if my_site.site.url not in [ + 'https://u2.dmhy.org/', 'https://52pt.site/' + ] and my_site.signin_set.filter(created_at__date__gte=datetime.today()).count() <= 0 + and my_site.cookie] + message = '> 站点:`U2`以及`52PT` 早上九点之前不执行签到任务哦! \n\n' logger.info(message) message_list = message + message_list else: - queryset = [my_site for my_site in queryset if my_site.cookie and my_site.site.sign_in_support - and my_site.signin_set.filter(created_at__date__gte=datetime.today(), - sign_in_today=True).count() <= 0] + queryset = [my_site for my_site in queryset if my_site.cookie and + my_site.signin_set.filter(created_at__date__gte=datetime.today(), + sign_in_today=True).count() <= 0] logger.info(len(queryset)) if len(queryset) <= 0: message_list = '> 已全部签到或无需签到! \n\n' @@ -1045,6 +1046,7 @@ class PtSpider: msg='签到失败!' ) if 'hares.top' in site.url: + logger.info(res.text) code = res.json().get('code') # logger.info('白兔返回码:'+ type(code)) if int(code) == 0: diff --git a/pt_site/admin.py b/pt_site/admin.py index fd0f7f7..79891e2 100644 --- a/pt_site/admin.py +++ b/pt_site/admin.py @@ -460,9 +460,11 @@ class MySiteAdmin(AjaxAdmin): # instead of ModelAdmin def sign_in(self, request, queryset): start = time.time() - queryset = [my_site for my_site in queryset if - my_site.cookie and my_site.site.sign_in_support and my_site.signin_set.filter( - created_at__date__gte=datetime.today(), sign_in_today=True).count() <= 0] + queryset = [my_site for my_site in queryset if my_site.sign_in and + my_site.cookie and my_site.site.sign_in_support and + my_site.signin_set.filter( + created_at__date__gte=datetime.today(), + sign_in_today=True).count() <= 0] if len(queryset) <= 0: messages.success(request, '已签到或无需签到!') results = pool.map(pt_spider.sign_in, queryset) diff --git a/pt_site/views.py b/pt_site/views.py index 59a8b25..195648f 100644 --- a/pt_site/views.py +++ b/pt_site/views.py @@ -33,8 +33,8 @@ logger = logging.getLogger('ptools') def auto_sign_in(): """自动签到""" start = time.time() - # 获取本人所有站点 - queryset = MySite.objects.all() + # 获取工具支持且本人开启签到的所有站点 + queryset = MySite.objects.filter(site__sign_in_support=True).filter(sign_in=True).all() message_list = pt_spider.do_sign_in(pool, queryset) end = time.time() consuming = '> {} 任务运行成功!耗时:{}完成时间:{} \n'.format(