From 7a73da142b55ab5ed72b78842655d7053fdb51bc Mon Sep 17 00:00:00 2001 From: ngfchl Date: Sun, 9 Oct 2022 13:08:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=A7=84=E5=88=99=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E6=A3=80=E6=B5=8B=EF=BC=8C=E6=97=A0=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=88=99=E8=B7=B3=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- auto_pt/views.py | 40 +++++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/auto_pt/views.py b/auto_pt/views.py index 0fe9ed5..77fc064 100644 --- a/auto_pt/views.py +++ b/auto_pt/views.py @@ -390,6 +390,7 @@ def update_page(request): def do_update(request): try: logger.info('开始拉取更新') + main_pt_site_site_mtime = os.stat('./main_pt_site_site.json').st_mtime # print(os.system('cat ./update.sh')) subprocess.Popen('chmod +x ./update.sh', shell=True) p = subprocess.Popen('./update.sh', shell=True, stdout=subprocess.PIPE) @@ -398,7 +399,6 @@ def do_update(request): for i in out: logger.info(i.decode('utf8')) # 更新Xpath规则 - logger.info('拉取更新完毕,开始更新Xpath规则') # 字符串型的数据量转化为int型 # status_list = SiteStatus.objects.all() # for status in status_list: @@ -411,20 +411,30 @@ def do_update(request): # if type(status.uploaded) == str and 'B' in status.uploaded: # status.uploaded = FileSizeConvert.parse_2_byte(status.uploaded) # status.save() - with open('./main_pt_site_site.json', 'r') as f: - # print(f.readlines()) - data = json.load(f) - # print(data[2]) - # print(data[0].get('url')) - # xpath_update = [] - logger.info('更新规则中,返回结果为True为新建,为False为更新,其他是错误了') - for site_rules in data: - if site_rules.get('pk'): - del site_rules['pk'] - if site_rules.get('id'): - del site_rules['id'] - site_obj = Site.objects.update_or_create(defaults=site_rules, url=site_rules.get('url')) - logger.info(site_obj[0].name + (' 规则新增成功!' if site_obj[1] else '规则更新成功!')) + new_fileinfo = os.stat('./main_pt_site_site.json').st_mtime + logger.info('更新前文件最后修改时间') + logger.info(main_pt_site_site_mtime) + logger.info('更新后文件最后修改时间') + logger.info(new_fileinfo) + if new_fileinfo == main_pt_site_site_mtime: + logger.info('本次更新无规则更新,跳过!') + pass + else: + logger.info('拉取更新完毕,开始更新Xpath规则') + with open('./main_pt_site_site.json', 'r') as f: + # print(f.readlines()) + data = json.load(f) + # print(data[2]) + # print(data[0].get('url')) + # xpath_update = [] + logger.info('更新规则中,返回结果为True为新建,为False为更新,其他是错误了') + for site_rules in data: + if site_rules.get('pk'): + del site_rules['pk'] + if site_rules.get('id'): + del site_rules['id'] + site_obj = Site.objects.update_or_create(defaults=site_rules, url=site_rules.get('url')) + logger.info(site_obj[0].name + (' 规则新增成功!' if site_obj[1] else '规则更新成功!')) logger.info('更新完毕') """ logger.info('更新完毕,开始重启')