def handle_tags(caller, job, job_name, job_option): if "tags" in job and len(job["tags"]) > 0: tags = job["tags"] else: print(f"No tags found or empty tags in {job_name}!") start_page = 1 if "start_page" in job: start_page = int(job["start_page"]) end_page = 0 if "end_page" in job: end_page = int(job["end_page"]) wild_card = True if "wild_card" in job: wild_card = bool(job["wild_card"]) title_caption = False if "title_caption" in job: title_caption = bool(job["title_caption"]) start_date = None if "start_date" in job and len(job["start_date"]) == 10: try: start_date = PixivHelper.check_date_time(job["start_date"]) except BaseException: raise Exception(f"Invalid start_date: {job['start_date']} in {job_name}.") end_date = None if "end_date" in job and len(job["end_date"]) == 10: try: end_date = PixivHelper.check_date_time(job["end_date"]) except BaseException: raise Exception(f"Invalid end_date: {job['end_date']} in {job_name}.") member_id = None if "member_id" in job: member_id = job["member_id"] bookmark_count = None if "bookmark_count" in job: bookmark_count = int(job["bookmark_count"]) oldest_first = False if "oldest_first" in job: oldest_first = bool(job["oldest_first"]) type_mode = "a" if "type_mode" in job: if job["type_mode"] in {'a', 'i', 'm'}: type_mode = job["type_mode"] else: raise Exception(f"Invalid type_mode: {job['type_mode']} in {job_name}.") PixivTagsHandler.process_tags(caller, tags, page=start_page, end_page=end_page, wild_card=wild_card, title_caption=title_caption, start_date=start_date, end_date=end_date, use_tags_as_dir=job_option.useTagsAsDir, member_id=member_id, bookmark_count=bookmark_count, oldest_first=oldest_first, type_mode=type_mode, job_option=job_option)
def handle_tags(caller: PixivUtil2, job, job_name, job_option): tags = None if "tags" in job and len(job["tags"]) > 0: tags = job["tags"] else: print(f"No tags found or empty tags in {job_name}!") return start_page = 1 if "start_page" in job: start_page = int(job["start_page"]) end_page = 0 if "end_page" in job: end_page = int(job["end_page"]) wild_card = True if "wild_card" in job: wild_card = bool(job["wild_card"]) title_caption = False if "title_caption" in job: title_caption = bool(job["title_caption"]) start_date = None if "start_date" in job and len(job["start_date"]) == 10: try: start_date = PixivHelper.check_date_time(job["start_date"]) except BaseException: raise Exception( f"Invalid start_date: {job['start_date']} in {job_name}.") end_date = None if "end_date" in job and len(job["end_date"]) == 10: try: end_date = PixivHelper.check_date_time(job["end_date"]) except BaseException: raise Exception( f"Invalid end_date: {job['end_date']} in {job_name}.") member_id = None if "member_id" in job: member_id = job["member_id"] bookmark_count = None if "bookmark_count" in job: bookmark_count = int(job["bookmark_count"]) sort_order = 'date_d' # default is newest work first. if "oldest_first" in job: sort_order = 'date' if bool(job["oldest_first"]) else 'date_d' if "sort_order" in job and caller.__br__._isPremium: if job["sort_order"] in ('date_d', 'date', 'popular_d', 'popular_male_d', 'popular_female_d'): sort_order = job["sort_order"] else: raise Exception( f"Invalid sort_order: {job['sort_order']} in {job_name}.") type_mode = "a" if "type_mode" in job: if job["type_mode"] in {'a', 'i', 'm'}: type_mode = job["type_mode"] else: raise Exception( f"Invalid type_mode: {job['type_mode']} in {job_name}.") PixivTagsHandler.process_tags( caller, job_option.config, tags, page=start_page, end_page=end_page, wild_card=wild_card, title_caption=title_caption, start_date=start_date, end_date=end_date, use_tags_as_dir=job_option.config.useTagsAsDir, member_id=member_id, bookmark_count=bookmark_count, sort_order=sort_order, type_mode=type_mode)