Fix fatal error and keep index of id which from file

This commit is contained in:
ODtian 2020-06-23 20:39:41 +08:00
parent c8bca4240a
commit bf03881ed6
2 changed files with 13 additions and 11 deletions

View File

@ -186,8 +186,10 @@ def cmd_parser():
if args.file:
with open(args.file, 'r') as f:
_ = [i.strip() for i in f.readlines()]
args.id = set(int(i) for i in _ if i.isdigit())
_ = [int(i.strip()) for i in f.readlines() if i.strip().isdigit()]
# args.id = list(set(int(i) for i in _ if i.isdigit()))
args.id = list(set(_))
args.id.sort(key=_.index)
if (args.is_download or args.is_show) and not args.id and not args.keyword and \
not args.tag and not args.artist and not args.character and \

View File

@ -178,21 +178,21 @@ def doujinshi_parser(id_):
doujinshi['img_id'] = img_id.group(1)
doujinshi['ext'] = ext
pages = 0
for _ in doujinshi_info.find_all('div', class_=''):
pages = re.search('([\d]+) pages', _.text)
if pages:
pages = pages.group(1)
break
doujinshi['pages'] = int(pages)
# pages = 0
# for _ in doujinshi_info.find_all('div', class_=''):
# pages = re.search('([\d]+) pages', _.text)
# if pages:
# pages = pages.group(1)
# break
# doujinshi['pages'] = int(pages)
doujinshi['pages'] = len(ext)
# gain information of the doujinshi
information_fields = doujinshi_info.find_all('div', attrs={'class': 'field-name'})
needed_fields = ['Characters', 'Artists', 'Languages', 'Tags', 'Parodies', 'Groups', 'Categories']
for field in information_fields:
field_name = field.contents[0].strip().strip(':')
if field_name in needed_fields:
data = [sub_field.contents[0].strip() for sub_field in
data = [sub_field.contents[0].text.strip() for sub_field in
field.find_all('a', attrs={'class': 'tag'})]
doujinshi[field_name.lower()] = ', '.join(data)