From 4a9f693574ab3cd7f519736a0c0f75fefa332fda Mon Sep 17 00:00:00 2001 From: Alex Xu Date: Tue, 16 Apr 2024 14:59:54 -0700 Subject: [PATCH] Adds --author argument to CLI (#683) --- kindlecomicconverter/comic2ebook.py | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/kindlecomicconverter/comic2ebook.py b/kindlecomicconverter/comic2ebook.py index afb5afb..45ae0e2 100755 --- a/kindlecomicconverter/comic2ebook.py +++ b/kindlecomicconverter/comic2ebook.py @@ -689,7 +689,6 @@ def getOutputFilename(srcpath, wantedname, ext, tomenumber): def getComicInfo(path, originalpath): xmlPath = os.path.join(path, 'ComicInfo.xml') - options.authors = ['KCC'] options.chapters = [] options.summary = '' titleSuffix = '' @@ -701,13 +700,18 @@ def getComicInfo(path, originalpath): options.title = os.path.splitext(os.path.basename(originalpath))[0] else: defaultTitle = False + if options.author == 'defaultauthor': + defaultAuthor = True + options.authors = ['KCC'] + else: + defaultAuthor = False + options.authors = [options.author] if os.path.exists(xmlPath): try: xml = metadata.MetadataParser(xmlPath) except Exception: os.remove(xmlPath) return - options.authors = [] if xml.data['Title']: options.title = hescape(xml.data['Title']) elif defaultTitle: @@ -718,14 +722,16 @@ def getComicInfo(path, originalpath): if xml.data['Number']: titleSuffix += ' #' + xml.data['Number'].zfill(3) options.title += titleSuffix - for field in ['Writers', 'Pencillers', 'Inkers', 'Colorists']: - for person in xml.data[field]: - options.authors.append(hescape(person)) - if len(options.authors) > 0: - options.authors = list(set(options.authors)) - options.authors.sort() - else: - options.authors = ['KCC'] + if defaultAuthor: + options.authors = [] + for field in ['Writers', 'Pencillers', 'Inkers', 'Colorists']: + for person in xml.data[field]: + options.authors.append(hescape(person)) + if len(options.authors) > 0: + options.authors = list(set(options.authors)) + options.authors.sort() + else: + options.authors = ['KCC'] if xml.data['Bookmarks'] and options.batchsplit == 0: options.chapters = xml.data['Bookmarks'] if xml.data['Summary']: @@ -964,6 +970,8 @@ def makeParser(): help="Output generated file to specified directory or file") output_options.add_argument("-t", "--title", action="store", dest="title", default="defaulttitle", help="Comic title [Default=filename or directory name]") + output_options.add_argument("-a", "--author", action="store", dest="author", default="defaultauthor", + help="Author name [Default=KCC]") output_options.add_argument("-f", "--format", action="store", dest="format", default="Auto", help="Output format (Available options: Auto, MOBI, EPUB, CBZ, KFX, MOBI+EPUB) " "[Default=Auto]")