mirror of
https://github.com/RicterZ/nhentai.git
synced 2025-05-02 17:36:14 +02:00
split metadata.json out from html generate function #386
This commit is contained in:
parent
8791e7af55
commit
780a6c82b2
@ -131,6 +131,8 @@ def cmd_parser():
|
||||
help='generate a metadata file in doujinshi format')
|
||||
parser.add_option('--regenerate', dest='regenerate', action='store_true', default=False,
|
||||
help='regenerate the cbz or pdf file if exists')
|
||||
parser.add_option('--no-metadata', dest='no_metadata', action='store_true', default=False,
|
||||
help='don\'t generate metadata json file in doujinshi output path')
|
||||
|
||||
# nhentai options
|
||||
parser.add_option('--cookie', type='str', dest='cookie', action='store',
|
||||
|
@ -15,6 +15,7 @@ from nhentai.doujinshi import Doujinshi
|
||||
from nhentai.downloader import Downloader
|
||||
from nhentai.logger import logger
|
||||
from nhentai.constant import BASE_URL
|
||||
from nhentai.serializer import serialize_json
|
||||
from nhentai.utils import generate_html, generate_doc, generate_main_html, generate_metadata_file, \
|
||||
paging, check_cookie, signal_handler, DB, move_to_folder
|
||||
|
||||
@ -115,6 +116,9 @@ def main():
|
||||
if not options.is_nohtml:
|
||||
generate_html(options.output_dir, doujinshi, template=constant.CONFIG['template'])
|
||||
|
||||
if not options.no_metadata:
|
||||
generate_doc('json', options.output_dir, doujinshi, options.regenerate)
|
||||
|
||||
if options.is_cbz:
|
||||
generate_doc('cbz', options.output_dir, doujinshi, options.regenerate)
|
||||
|
||||
|
@ -2,12 +2,11 @@
|
||||
import json
|
||||
import os
|
||||
|
||||
from nhentai.constant import PATH_SEPARATOR
|
||||
from nhentai.constant import PATH_SEPARATOR, LANGUAGE_ISO
|
||||
from xml.sax.saxutils import escape
|
||||
from nhentai.constant import LANGUAGE_ISO
|
||||
|
||||
|
||||
def serialize_json(doujinshi, output_dir):
|
||||
def serialize_json(doujinshi, output_dir: str):
|
||||
metadata = {'title': doujinshi.name,
|
||||
'subtitle': doujinshi.info.subtitle}
|
||||
if doujinshi.info.favorite_counts:
|
||||
|
@ -16,7 +16,7 @@ from requests.structures import CaseInsensitiveDict
|
||||
from nhentai import constant
|
||||
from nhentai.constant import PATH_SEPARATOR
|
||||
from nhentai.logger import logger
|
||||
from nhentai.serializer import serialize_json, serialize_comic_xml, set_js_database
|
||||
from nhentai.serializer import serialize_comic_xml, serialize_json, set_js_database
|
||||
|
||||
MAX_FIELD_LENGTH = 100
|
||||
EXTENSIONS = ('.png', '.jpg', '.jpeg', '.gif', '.webp')
|
||||
@ -142,7 +142,7 @@ def generate_html(output_dir='.', doujinshi_obj=None, template='default'):
|
||||
js = readfile(f'viewer/{template}/scripts.js')
|
||||
|
||||
if doujinshi_obj is not None:
|
||||
serialize_json(doujinshi_obj, doujinshi_dir)
|
||||
# serialize_json(doujinshi_obj, doujinshi_dir)
|
||||
name = doujinshi_obj.name
|
||||
else:
|
||||
name = {'title': 'nHentai HTML Viewer'}
|
||||
@ -274,6 +274,9 @@ def generate_doc(file_type='', output_dir='.', doujinshi_obj=None, regenerate=Fa
|
||||
except ImportError:
|
||||
logger.error("Please install img2pdf package by using pip.")
|
||||
|
||||
elif file_type == 'json':
|
||||
serialize_json(doujinshi_obj, doujinshi_dir)
|
||||
|
||||
|
||||
def format_filename(s, length=MAX_FIELD_LENGTH, _truncate_only=False):
|
||||
"""
|
||||
|
Loading…
x
Reference in New Issue
Block a user