From 99c7026dff075f487e15b60d0197756e779f99de Mon Sep 17 00:00:00 2001 From: cwx Date: Thu, 5 Oct 2023 04:58:36 +0800 Subject: [PATCH] fix --- Comics/pipelines.py | 3 --- Comics/spiders/rm_comic.py | 2 +- Comics/utils/ComicUtils.py | 16 +++++++++------- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/Comics/pipelines.py b/Comics/pipelines.py index 8c40a53..c82717d 100644 --- a/Comics/pipelines.py +++ b/Comics/pipelines.py @@ -23,9 +23,6 @@ class ComicsPipeline: # item就是yield后面的对象 def process_item(self, item, spider): - - checkUtils().export_error(item) - if isinstance(item, ComicItem): # 'output/rm_comic/json/壞X/第1話 壞X' if os.path.exists(ComicPath.CBZ(item=item)): diff --git a/Comics/spiders/rm_comic.py b/Comics/spiders/rm_comic.py index 12f309f..d3826cc 100644 --- a/Comics/spiders/rm_comic.py +++ b/Comics/spiders/rm_comic.py @@ -1,4 +1,4 @@ -import scrapy,logging,time,os +import scrapy,logging,time,os,skip from Comics.items import ComicItem from Comics.loader import ComicLoader from Comics.utils.Constant import ComicPath diff --git a/Comics/utils/ComicUtils.py b/Comics/utils/ComicUtils.py index e23d699..a6abc7f 100644 --- a/Comics/utils/ComicUtils.py +++ b/Comics/utils/ComicUtils.py @@ -6,19 +6,21 @@ from Comics.utils.FileUtils import fileUtils as fu from Comics.loader import ComicEntity class checkUtils: + + def read(self, item): + file = os.path.join(OUTPUT_DIR, item[PROJECT_KEY][0], "error_comics.json") + return ItemImport().import_obj(file) # # 检测某一章节是否连续错误 def export_error(self, item): - file = os.path.join(OUTPUT_DIR, item[PROJECT_KEY][0], "error_comics.json") - error_comic = ItemImport().import_obj(file) - error_comic.append({ "name" : item['name'], "chapter" : item['chapter'], "date" : ComicPath().getYearMonthDay()}) - fu.save_file(file, json.dumps(error_comic)) + if not self.is_error(item): + error_comic = self.read(item) + error_comic.append({ "name" : item['name'], "chapter" : item['chapter'], "date" : ComicPath().getYearMonthDay()}) + fu.save_file(file, json.dumps(error_comic)) def is_error(self, item): - file = os.path.join(OUTPUT_DIR, item[PROJECT_KEY][0], "error_comics.json") - error_comic = ItemImport().import_obj(file) try: - for error_c in eval(error_comic): + for error_c in eval(self.read(item)): (name, chatper, date) = [error_c['name'], error_c['chapter'], error_c['date']] if item['name'] == name and item['chapter'] == chatper: return True