From 5d6d8483b8827953287e89fe2514a1f85fdd4e38 Mon Sep 17 00:00:00 2001 From: Dnomd343 Date: Sat, 18 Mar 2023 01:04:33 +0800 Subject: [PATCH] feat: calibre dependency generation --- src/release/release.py | 4 ++-- src/release/utils/__init__.py | 2 +- src/release/utils/common.py | 2 +- src/release/utils/release.py | 43 +++++++++++++++++++++++++++++++++++ 4 files changed, 47 insertions(+), 4 deletions(-) diff --git a/src/release/release.py b/src/release/release.py index 94cd6ed..75b043b 100755 --- a/src/release/release.py +++ b/src/release/release.py @@ -4,7 +4,7 @@ from utils import loadBook from utils import txtRelease from utils import jsonRelease -from utils import htmlRelease +from utils import mobiRelease from utils import staticRelease from utils import gitbookRelease @@ -13,6 +13,6 @@ metadata, content = loadBook('rc-5') # txtRelease(metadata, content) # jsonRelease(metadata, content) -htmlRelease(metadata, content) +mobiRelease(metadata, content) # staticRelease(metadata, content) # gitbookRelease(metadata, content) diff --git a/src/release/utils/__init__.py b/src/release/utils/__init__.py index 1f7f49c..cc6b786 100644 --- a/src/release/utils/__init__.py +++ b/src/release/utils/__init__.py @@ -5,6 +5,6 @@ from .common import loadBook from .release import txtRelease from .release import jsonRelease -from .release import htmlRelease +from .release import mobiRelease from .release import staticRelease from .release import gitbookRelease diff --git a/src/release/utils/common.py b/src/release/utils/common.py index f457f5e..e016293 100644 --- a/src/release/utils/common.py +++ b/src/release/utils/common.py @@ -20,8 +20,8 @@ releaseInfo = { # release file name 'epub': '栩栩若生.epub', 'mobi': '栩栩若生.mobi', 'static': 'XXRS.tar.xz', - 'calibre': 'xxrs.html', 'gitbook': 'xxrs-online/', + 'calibre': 'xxrs-calibre/', } releaseInfo = { # convert to absolute path key: os.path.join(releasePath, file) for (key, file) in releaseInfo.items() diff --git a/src/release/utils/release.py b/src/release/utils/release.py index b19e06e..5b27cd6 100644 --- a/src/release/utils/release.py +++ b/src/release/utils/release.py @@ -129,3 +129,46 @@ def staticRelease(metadata: dict, content: dict) -> None: staticDepends(tempDir.name, metadata, content) staticBuild(tempDir.name) tempDir.cleanup() + + +def calibreDepends(workDir: str, metadata: dict, content: dict) -> None: + metaInfo = [ + '', + '', + '', + '', + '', + '', + ] + opfInfo = [ + '', + '', + '', + '%s' % metadata['name'], + 'zho', + 'Dnomd343', + '%(aut)s' % {'aut': metadata['author']}, + '%s' % projectUrl, + '%s' % '<div>%s</div>' % ( + ''.join(['<p>%s</p>' % x for x in metadata['desc']]) + ), + '' % metadata['author'], + '' % metadata['name'], + '', + '', + '', + '', + '', + '', '', '', + '', + ] + createFolder(os.path.join(workDir, 'META-INF')) + saveFile(os.path.join(workDir, 'mimetype'), 'application/epub+zip') + saveFile(os.path.join(workDir, 'content.opf'), '\n'.join(opfInfo) + '\n') + saveFile(os.path.join(workDir, 'xxrs.html'), htmlSerialize(metadata, content)) + saveFile(os.path.join(workDir, 'META-INF', 'container.xml'), '\n'.join(metaInfo) + '\n') + + +def mobiRelease(metadata: dict, content: dict) -> None: + createFolder(releaseInfo['calibre']) + calibreDepends(releaseInfo['calibre'], metadata, content)