idb_utils/single_odt.py
2025-05-17 04:28:55 +03:00

27 lines
1.1 KiB
Python
Executable File

#!/usr/bin/env python3
import os.path
from idb import Article, DocumentCreator
from idb.util import image_url_to_filename, download_file, extract_images_from_markdown, read_file
from argparse import ArgumentParser
if __name__ == '__main__':
parser = ArgumentParser()
parser.add_argument('--ru-file', type=str, required=True, help='russian input file')
parser.add_argument('--en-file', type=str, required=True, help='english input file')
parser.add_argument('--output', type=str, required=True, help='output ODT file')
args = parser.parse_args()
orig = Article.from_markdown_file(args.ru_file, with_title=False)
trans = Article.from_markdown_file(args.en_file, with_title=False)
image_urls = extract_images_from_markdown(read_file(args.ru_file))
for image_url in image_urls:
image_name = image_url_to_filename(image_url)
output_file = os.path.join(os.path.dirname(__file__), 'images', image_name)
if not os.path.exists(output_file):
download_file(image_url, output_file)
print(f'{image_name} saved')
doc = DocumentCreator()
doc.create(orig, trans, args.output)