Source code for pyexlatex.resume.templates.reference

from typing import Optional, Sequence, Union, List
import pyexlatex as pl
from pyexlatex.models.template import Template


[docs]class Reference(Template): SPACE_BETWEEN_ADJUSTMENT = '-8pt'
[docs] def __init__(self, name: str, title_lines: Optional[Sequence[str]] = None, company: Optional[str] = None, contact_lines: Optional[Sequence[str]] = None, email: Optional[str] = None, prevent_page_break: bool = True): self.name = name self.title_lines = title_lines self.company = company self.contact_lines = contact_lines self.email = email self.prevent_page_break = prevent_page_break self.contents = self._get_contents() super().__init__()
def _get_contents(self): if self.contact_lines: contact_lines = self.contact_lines else: contact_lines = [] if self.title_lines: title_lines = [pl.Italics(line) for line in self.title_lines] else: title_lines = [] possible_contents = [ pl.SmallCaps(pl.Bold(self.name)), *title_lines, self.company, *contact_lines, self.email, pl.OutputLineBreak(size_adjustment=self.SPACE_BETWEEN_ADJUSTMENT), ] out_contents = [] for content in possible_contents: out_contents.append(content) out_contents.append(pl.OutputLineBreak()) # force line breaks in content del out_contents[-1] # remove last line break if self.prevent_page_break: out_contents = pl.NoPageBreak(out_contents) return out_contents