avod using bare excepts

This commit is contained in:
Sina Atalay 2023-10-09 19:57:23 +02:00
parent ce4a1a5901
commit e5efd21b0a
6 changed files with 18 additions and 10 deletions

View File

@ -1,6 +1,8 @@
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/).
"""
import logging

View File

@ -25,12 +25,13 @@ def main(args=sys.argv[1:]):
" the input file path."
)
input_file_path = sys.argv[1]
# 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()
main(args=["tests/inputs/personal.yaml"])

View File

@ -191,6 +191,9 @@ def format_date(date: Date) -> str:
Returns:
str: The formatted date.
"""
if not isinstance(date, Date):
raise TypeError("date is not a Date object!")
# Month abbreviations,
# taken from: https://web.library.yale.edu/cataloging/months
abbreviations_of_months = [
@ -683,7 +686,7 @@ class Event(BaseModel):
# If this runs, it means the date is an ISO format string, and it can be
# parsed
month_and_year = format_date(self.date)
except:
except TypeError:
month_and_year = self.date
else:
# Then it means start_date and end_date are provided and month_and_year
@ -829,7 +832,7 @@ class PublicationEntry(Event):
try:
urllib.request.urlopen(doi_url)
except:
except urllib.request.HTTPError:
raise ValueError(f"{doi} cannot be found in the DOI System.")
return doi

View File

@ -5,10 +5,10 @@ This module is a script to run the RenderCV and generate a CV as a PDF.
import os
import rendercv
import rendercv.__main__ as rendercv
input_name = "personal"
workspace = os.path.dirname(__file__)
file_path = os.path.join(workspace, "tests", "inputs", f"{input_name}.yaml")
rendercv(file_path)
rendercv.main(args=[file_path])

View File

@ -101,7 +101,7 @@
\LenToUnit{\paperwidth-1.35 cm},
\LenToUnit{\paperheight-0.675 cm}
){\vtop{{\null}\makebox[0pt][c]{
\small\color{gray}\emph{Last updated on October 08, 2023} \hspace{\widthof{Last updated on October 08, 2023}}
\small\color{gray}\emph{Last updated on REPLACE_THIS_WITH_TODAY} \hspace{\widthof{Last updated on REPLACE_THIS_WITH_TODAY}}
}}}%
}%
}%

View File

@ -5,8 +5,6 @@ import shutil
from rendercv import rendering, data_model
from pydantic import ValidationError
class TestDataModel(unittest.TestCase):
def test_markdown_to_latex(self):
@ -378,6 +376,9 @@ class TestDataModel(unittest.TestCase):
output = file.read()
with open(reference_file_path, "r") as file:
reference = file.read()
reference = reference.replace(
"REPLACE_THIS_WITH_TODAY", rendering.get_today()
)
self.assertEqual(output, reference)
@ -406,5 +407,6 @@ class TestDataModel(unittest.TestCase):
# rendering.run_latex(latex_file_path)
if __name__ == "__main__":
unittest.main()