diff options
Diffstat (limited to 'resumejson_converter/generators')
-rw-r--r-- | resumejson_converter/generators/html.py | 28 | ||||
-rw-r--r-- | resumejson_converter/generators/pdf.py | 10 |
2 files changed, 21 insertions, 17 deletions
diff --git a/resumejson_converter/generators/html.py b/resumejson_converter/generators/html.py index 1b34e91..b1d2802 100644 --- a/resumejson_converter/generators/html.py +++ b/resumejson_converter/generators/html.py @@ -1,14 +1,14 @@ import os.path as path -import sys import codecs import logging import jinja2 +from jinja2.exceptions import TemplateSyntaxError import resumejson_converter.filters as filters -def generate(resume, template, out_path): +def generate(resume, template, out_path=None): """ Return html version of a JSON resume based on a template. @@ -32,18 +32,22 @@ def generate(resume, template, out_path): try: template = env.get_template(template_name) except jinja2.exceptions.TemplateNotFound: - logging.exception("File not found: '{}'!" - .format(template)) - sys.exit(1) + logging.error("File not found: '{}'!" + .format(template)) + raise html = template.render(dict(resume=resume)) - except jinja2.exceptions.TemplateSyntaxError as e: - logging.exception("Syntax error in template file '{}' line {}: {}" - .format(e.name, e.lineno, e.message)) - sys.exit(1) + except TemplateSyntaxError as e: + logging.error("Syntax error in template file '{}' line {}: {}" + .format(e.name, e.lineno, e.message)) + raise else: logging.info("HTML generation done.") if out_path: - file = codecs.open(out_path, "w", "utf-8-sig") - file.write(html) - file.close + try: + file = codecs.open(out_path, "w", "utf-8-sig") + file.write(html) + file.close + except IOError: + logging.error("Permission error when writing html file!") + raise return html diff --git a/resumejson_converter/generators/pdf.py b/resumejson_converter/generators/pdf.py index b8c2905..ed772a8 100644 --- a/resumejson_converter/generators/pdf.py +++ b/resumejson_converter/generators/pdf.py @@ -1,18 +1,17 @@ -import sys import logging import pdfkit -def generate(html): +def generate(html, pdf_output_path="out/out.pdf"): """ Generate a pdf file in out/out.pdf in current folder where main script is executed. + + Use pdf_out_path to select final pdf generated destination. """ logging.info("PDF generation...") - pdf_output_path = "out/out.pdf" - import os if not os.path.exists("out"): os.makedirs("out", exist_ok=True) @@ -34,6 +33,7 @@ def generate(html): configuration=config, options=options) except (IOError, OSError) as e: - logging.exception("Something append: {}".format(e)) + logging.error("Something append: {}".format(e)) + raise else: logging.info("PDF generated at {}".format(pdf_output_path)) |