onpoint/main.py
2020-03-11 12:15:08 +01:00

35 lines
1.2 KiB
Python

#!/usr/bin/python3
import argparse
import os
import sys
import chapters
import fragments
import helper
# Compiles a presentation in the given language from the given directory and
# stores it in a corresponding slides.lang.html file inside the same directory.
def compile(root, language='en'):
wrapper = open(os.path.join(root, 'layouts/root.html'), 'r').read()
wrapper = wrapper.replace('@slides', chapters.compile_chapters(root, language))
wrapper = helper.insert_metadata(wrapper, root, language)
wrapper = fragments.defragmentize(wrapper)
with open(os.path.join(root, 'slides.' + language + '.html'), 'w+') as output:
output.write(wrapper)
print('done')
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument("rootdirectory", help="your project's root directory")
parser.add_argument("-l", "--language", default="all", help="the presentation language (default: all)")
args = parser.parse_args()
if args.language == "all":
for language in helper.get_available_languages(args.rootdirectory):
compile(args.rootdirectory, language=language)
else:
compile(args.rootdirectory, language=args.language)