resume/processing/content.py

53 lines
1.4 KiB
Python

from typing import Any
def summary_to_md(data: dict[str, Any], lang: str = "en", headline: str = ""):
if "summary" not in data:
return
md = f"{headline}\n\n {data['summary'][lang]}\n\n"
return md
def experience_to_md(data: dict[str, Any], lang: str = "en", headline: str = ""):
if "experience" not in data:
return
md = f"{headline}\n\n"
for exp in data["experience"]:
md += f"## {exp['title'][lang]}\\hfill{exp['date'][lang]}\n\n"
if "publication" in exp:
md += f"> {exp['publication'][lang]}\n\n"
for point in exp["bullets"]:
md += f"* {point[lang]}\n"
return md
def education_to_md(data: dict[str, Any], lang: str = "en", headline: str = ""):
if "education" not in data:
return
md = f"{headline}\n\n"
for edu in data["education"]:
md += (
f"{edu['place'][lang]}\n\n: {edu['program'][lang]}; {edu['date'][lang]}\n\n"
)
return md
def qualifications_to_md(data: dict[str, Any], lang: str = "en", headline: str = ""):
if "skills" not in data:
return
md = f"{headline}\n\n"
for skillset in data["skills"]:
md += f"{skillset[lang]}\n\n"
for content in skillset["content"]:
md += f": {content['name'][lang]} ({', '.join([item[lang] for item in content['items']])})\n"
md += "\n"
return md