mirror of
				https://github.com/RicterZ/nhentai.git
				synced 2025-11-04 02:50:55 +01:00 
			
		
		
		
	Merge pull request #134 from ODtian/master
Fix fatal error and keep index of id which from file
This commit is contained in:
		@@ -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 \
 | 
			
		||||
@@ -204,8 +206,8 @@ def cmd_parser():
 | 
			
		||||
    if args.threads <= 0:
 | 
			
		||||
        args.threads = 1
 | 
			
		||||
 | 
			
		||||
    elif args.threads > 15:
 | 
			
		||||
        logger.critical('Maximum number of used threads is 15')
 | 
			
		||||
        exit(1)
 | 
			
		||||
    # elif args.threads > 15:
 | 
			
		||||
    #     logger.critical('Maximum number of used threads is 15')
 | 
			
		||||
    #     exit(1)
 | 
			
		||||
 | 
			
		||||
    return args
 | 
			
		||||
 
 | 
			
		||||
@@ -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)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user