mirror of https://github.com/eyhc1/rendercv.git
start setting up the entry point
This commit is contained in:
parent
6c079b68cf
commit
9d4e714157
|
@ -2,8 +2,6 @@ r"""RenderCV package.
|
||||||
|
|
||||||
It parses the user input YAML/JSON file and validates the data (checks spelling mistakes, checks if the dates are consistent, etc.). Then, with the data, it creates a $\LaTeX$ file and renders it with [TinyTeX](https://yihui.org/tinytex/).
|
It parses the user input YAML/JSON file and validates the data (checks spelling mistakes, checks if the dates are consistent, etc.). Then, with the data, it creates a $\LaTeX$ file and renders it with [TinyTeX](https://yihui.org/tinytex/).
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# initialize logging:
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
|
||||||
|
@ -36,7 +34,7 @@ class LoggingFormatter(logging.Formatter):
|
||||||
|
|
||||||
|
|
||||||
logger = logging.getLogger()
|
logger = logging.getLogger()
|
||||||
|
logger.setLevel(logging.DEBUG)
|
||||||
stdout_handler = logging.StreamHandler()
|
stdout_handler = logging.StreamHandler()
|
||||||
stdout_handler.setLevel(logging.INFO)
|
|
||||||
stdout_handler.setFormatter(LoggingFormatter())
|
stdout_handler.setFormatter(LoggingFormatter())
|
||||||
logger.addHandler(stdout_handler)
|
logger.addHandler(stdout_handler)
|
|
@ -0,0 +1,36 @@
|
||||||
|
"""
|
||||||
|
This module is a script to run the RenderCV and generate a CV as a PDF. It is an entry
|
||||||
|
point for the RenderCV package.
|
||||||
|
"""
|
||||||
|
import os
|
||||||
|
import logging
|
||||||
|
import sys
|
||||||
|
|
||||||
|
from rendercv.rendering import read_input_file, render_template, run_latex
|
||||||
|
|
||||||
|
|
||||||
|
def main(args=sys.argv[1:]):
|
||||||
|
"""
|
||||||
|
This is the main function to run RenderCV.
|
||||||
|
"""
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
if len(args) != 1:
|
||||||
|
raise ValueError("Please provide the input file path.")
|
||||||
|
elif len(args) == 1:
|
||||||
|
input_file_path = args[0]
|
||||||
|
else:
|
||||||
|
raise ValueError(
|
||||||
|
"More than one input is provided. Please provide only one input, which is"
|
||||||
|
" the input file path."
|
||||||
|
)
|
||||||
|
|
||||||
|
input_file_path = sys.argv[1]
|
||||||
|
file_path = os.path.join(os.getcwd(), input_file_path)
|
||||||
|
data = read_input_file(file_path)
|
||||||
|
output_latex_file = render_template(data)
|
||||||
|
output_pdf_file = run_latex(output_latex_file)
|
||||||
|
logger.info(f"RenderCV: PDF file generated at {output_pdf_file}")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
|
@ -4,20 +4,11 @@ This module is a script to run the RenderCV and generate a CV as a PDF.
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from ruamel.yaml import YAML
|
|
||||||
|
|
||||||
from rendercv.data_model import RenderCVDataModel
|
import rendercv
|
||||||
from rendercv.rendering import render_template, run_latex
|
|
||||||
|
|
||||||
input_name = "personal"
|
input_name = "personal"
|
||||||
workspace = os.path.dirname(__file__)
|
workspace = os.path.dirname(__file__)
|
||||||
|
file_path = os.path.join(workspace, "tests", "inputs", f"{input_name}.yaml")
|
||||||
|
|
||||||
input_file_path = os.path.join(workspace, "tests", "inputs", f"{input_name}.yaml")
|
rendercv(file_path)
|
||||||
with open(input_file_path) as file:
|
|
||||||
yaml = YAML()
|
|
||||||
raw_json = yaml.load(file)
|
|
||||||
|
|
||||||
data = RenderCVDataModel(**raw_json)
|
|
||||||
output_latex_file=render_template(data=data)
|
|
||||||
|
|
||||||
run_latex(output_latex_file)
|
|
14
setup.py
14
setup.py
|
@ -0,0 +1,14 @@
|
||||||
|
from setuptools import setup, find_packages
|
||||||
|
|
||||||
|
setup(
|
||||||
|
name="rendercv",
|
||||||
|
version="1.0",
|
||||||
|
author="Sina Atalay",
|
||||||
|
description="A Python package to generate a CV as a PDF from a YAML or JSON file.",
|
||||||
|
packages=find_packages(),
|
||||||
|
entry_points={
|
||||||
|
"console_scripts": [
|
||||||
|
"rendercv = rendercv.cli:main",
|
||||||
|
]
|
||||||
|
},
|
||||||
|
)
|
Loading…
Reference in New Issue