From d2aa5303990b4ad7d4f1076be3a02d6c398f8b55 Mon Sep 17 00:00:00 2001 From: sftang Date: Wed, 9 Mar 2022 09:21:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=A4=A9=E7=A9=BA=E7=AD=BE?= =?UTF-8?q?=E5=88=B0=E5=A4=B1=E8=B4=A5bug=EF=BC=8C=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E7=AD=BE=E5=88=B0=E7=BB=9F=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/common/sites_sign.py | 51 +++++++++++++++++++++++++++++++++++- apps/common/views_request.py | 49 ++++------------------------------ apps/cron/crontabs.py | 44 +++---------------------------- apps/notify/views_request.py | 4 +-- 4 files changed, 60 insertions(+), 88 deletions(-) diff --git a/apps/common/sites_sign.py b/apps/common/sites_sign.py index 3411d18..af38a84 100644 --- a/apps/common/sites_sign.py +++ b/apps/common/sites_sign.py @@ -12,6 +12,54 @@ import ddddocr logger = logging.getLogger('sign') user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36' +def signIngress(site_name, site_name_cn, site_url, site_cookie): + """ + 签到站点匹配入口 + """ + + if site_name == 'hdchina': + flag, data = hdchina(site_name, site_name_cn, site_url, site_cookie) + elif site_name in ['hdfans','1ptba','ptchina','3wmg','discfan','hddolby','hdatmos','soulvoice', + 'pthome','hdtime','hdzone','htpt','audiences','nicept','hdhome','pttime', + 'lemonhd','ourbits','asf']: + flag, data = general(site_name, site_name_cn, site_url, site_cookie) + elif site_name == 'pterclub': + flag, data = pterclub(site_name, site_name_cn, site_url, site_cookie) + elif site_name == 'hdarea': + flag, data = hdarea(site_name, site_name_cn, site_url, site_cookie) + elif site_name == 'hdcity': + flag, data = hdcity(site_name, site_name_cn, site_url, site_cookie) + elif site_name == 'btschool': + flag, data = btschool(site_name, site_name_cn, site_url, site_cookie) + elif site_name == 'hares': + flag, data = hares(site_name, site_name_cn, site_url, site_cookie) + elif site_name == 'totheglory': + flag, data = ttg(site_name, site_name_cn, site_url, site_cookie) + elif site_name == '52pt': + flag, data = pt52(site_name, site_name_cn, site_url, site_cookie) + elif site_name in ['beitai','msg','hdmayi','oshen','avgv','eastgame','et8','itzmx']: + flag, data = noSign(site_name, site_name_cn, site_url, site_cookie) + elif site_name == 'keepfrds': + flag, data = keepfrds(site_name, site_name_cn, site_url, site_cookie) + elif site_name == 'tjupt': + flag, data = tjupt(site_name, site_name_cn, site_url, site_cookie) + elif site_name == 'hd': + flag, data = hd(site_name, site_name_cn, site_url, site_cookie) + elif site_name == 'greatposterwall': + flag, data = greatposterwall(site_name, site_name_cn, site_url, site_cookie) + elif site_name == 'open': + flag, data = opencd(site_name, site_name_cn, site_url, site_cookie) + elif site_name == 'hdsky': + flag, data = hdsky(site_name, site_name_cn, site_url, site_cookie) + elif site_name == 'haidan': + flag, data = haidan(site_name, site_name_cn, site_url, site_cookie) + elif site_name == 'ptsbao': + flag, data = ptsbao(site_name, site_name_cn, site_url, site_cookie) + else: + flag, data = (False,'%s 未匹配站点' % site_name) + + return flag, data + def hdchina(site_name, site_name_cn, site_url, site_cookie): """ 瓷器签到 @@ -1044,11 +1092,12 @@ def hdsky(site_name, site_name_cn, site_url, site_cookie): status = True return True, msg else: - if 'invalid_imagehash' == result['message']: + if 'date_unmatch' == result['message']: msg = "%s(%s) 您今天已经签到过了,请勿重复签到" % (site_name,site_name_cn) status = True return True, msg else: + #invalid_imagehash说明数据验证码错误 msg = "%s(%s) 错误:%s" % (site_name,site_name_cn, result['message']) if status or i > 2: return False,msg diff --git a/apps/common/views_request.py b/apps/common/views_request.py index a736702..779d63c 100644 --- a/apps/common/views_request.py +++ b/apps/common/views_request.py @@ -11,7 +11,7 @@ import shutil from sites.models import SiteInfo,SiteConfig from cron.models import Log -from .sites_sign import hdchina, general,noSign,keepfrds,tjupt,pterclub,hdarea,hdcity,btschool,hares,hd,ttg,pt52,greatposterwall,hdsky,opencd,haidan,ptsbao +from common.sites_sign import signIngress #================== @login_required @@ -96,53 +96,14 @@ def signAgain(request): site_url = site_config.index_url site_name_cn = site_config.name_cn - - if site_name == 'hdchina': - flag, data = hdchina(site_name, site_name_cn, site_url, site_cookie) - elif site_name in ['hdfans','1ptba','ptchina','3wmg','discfan','hddolby','hdatmos','soulvoice', - 'pthome','hdtime','hdzone','htpt','audiences','nicept','hdhome','pttime', - 'lemonhd','ourbits','asf']: - flag, data = general(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'pterclub': - flag, data = pterclub(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'hdarea': - flag, data = hdarea(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'hdcity': - flag, data = hdcity(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'btschool': - flag, data = btschool(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'hares': - flag, data = hares(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'totheglory': - flag, data = ttg(site_name, site_name_cn, site_url, site_cookie) - elif site_name == '52pt': - flag, data = pt52(site_name, site_name_cn, site_url, site_cookie) - elif site_name in ['beitai','msg','hdmayi','oshen','avgv','eastgame','et8','itzmx']: - flag, data = noSign(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'keepfrds': - flag, data = keepfrds(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'tjupt': - flag, data = tjupt(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'hd': - flag, data = hd(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'greatposterwall': - flag, data = greatposterwall(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'open': - flag, data = opencd(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'hdsky': - flag, data = hdsky(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'haidan': - flag, data = haidan(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'ptsbao': - flag, data = ptsbao(site_name, site_name_cn, site_url, site_cookie) - else: - flag, data = (False,'%s 未匹配站点' % site_name) - + #统一签到入口 + flag, data = signIngress(site_name, site_name_cn, site_url, site_cookie) + #补签成功,刷新状态 if flag: Log.objects.filter(id=_id).update(status=flag) - print(site_name,data) + #print(site_name,data) if flag: response_data={"code":1,"msg":data } else: diff --git a/apps/cron/crontabs.py b/apps/cron/crontabs.py index dc798b0..f0c460d 100644 --- a/apps/cron/crontabs.py +++ b/apps/cron/crontabs.py @@ -7,7 +7,7 @@ import logging from bs4 import BeautifulSoup from common.utils import send_email,send_telegram,send_iyuu -from common.sites_sign import hdchina, general,noSign,keepfrds,tjupt,pterclub,hdarea,hdcity,btschool,hares,hd,ttg,pt52,greatposterwall,hdsky,opencd,haidan,ptsbao +from common.sites_sign import signIngress from sites.models import SiteConfig, SiteInfo from .models import Job, Log from notify.models import NotifyConfig @@ -45,46 +45,8 @@ def sign(crontab_id): #'referer': site_url, #'cookie': site_cookie #} - if site_name == 'hdchina': - flag, data = hdchina(site_name, site_name_cn, site_url, site_cookie) - elif site_name in ['hdfans','1ptba','ptchina','3wmg','discfan','hddolby','hdatmos','soulvoice', - 'pthome','hdtime','hdzone','htpt','audiences','nicept','hdhome','pttime', - 'lemonhd','ourbits','asf']: - flag, data = general(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'pterclub': - flag, data = pterclub(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'hdarea': - flag, data = hdarea(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'hdcity': - flag, data = hdcity(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'btschool': - flag, data = btschool(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'hares': - flag, data = hares(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'totheglory': - flag, data = ttg(site_name, site_name_cn, site_url, site_cookie) - elif site_name == '52pt': - flag, data = pt52(site_name, site_name_cn, site_url, site_cookie) - elif site_name in ['beitai','msg','hdmayi','oshen','avgv','eastgame','et8','itzmx']: - flag, data = noSign(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'keepfrds': - flag, data = keepfrds(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'tjupt': - flag, data = tjupt(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'hd': - flag, data = hd(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'greatposterwall': - flag, data = greatposterwall(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'open': - flag, data = opencd(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'hdsky': - flag, data = hdsky(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'haidan': - flag, data = haidan(site_name, site_name_cn, site_url, site_cookie) - elif site_name == 'ptsbao': - flag, data = ptsbao(site_name, site_name_cn, site_url, site_cookie) - else: - flag, data = (False,'%s 未匹配站点' % site_name) + #统一签到入口 + flag, data = signIngress(site_name, site_name_cn, site_url, site_cookie) #print(site_name,data) try: diff --git a/apps/notify/views_request.py b/apps/notify/views_request.py index e20443a..04d9abe 100644 --- a/apps/notify/views_request.py +++ b/apps/notify/views_request.py @@ -135,8 +135,8 @@ def emailtest(request): #response_msg = json.loads(response) response_data={"code":1,"msg":response} - except: - response_data={"code":0,"msg":response } + except Exception as e: + response_data={"code":0,"msg":str(e) } return JsonResponse(response_data)