# Path: src/sii/lib/printing/TemplateElement.py
# class TemplateElement(object):
# 
#     @property
#     def resources(self):
#         """ Requires the return of a list of `Resource` object providing
#         the filename the template is going to expect, and the data that
#         should be inside of it.
# 
#         In case of none, return an empty list.
#         """
#         return []
# 
#     @property
#     def carta(self) -> str:
#         """ Create TeX Template for printable medium: "US Letter"
#         """
#         raise NotImplementedError
# 
#     @property
#     def oficio(self) -> str:
#         """ Create TeX Template for printable medium: "American Foolscap"
#         """
#         raise NotImplementedError
# 
#     @property
#     def thermal80mm(self) -> str:
#         """ Create TeX Template for printable medium: "Thermal endless 80mm width"
#         """
#         raise NotImplementedError


from .TemplateElement import TemplateElement


class SectionDisclaimer(TemplateElement):
    """
    %%%% -----------------------------------------------------------------
    %%%% SECTION - Disclaimer
    %%%% -----------------------------------------------------------------
    \\tiny{
        %s\\ (%s) queda facultado(a) para informar y publicar en los registros
        o bancos de datos personales que operan en el país, u otras empresas con similares
        servicios, la mora o incumplimiento de las obligaciones expresadas en esta factura.
    }
    """
    def __init__(self, company_name, company_rut):
        self._company_name = company_name
        self._company_rut  = company_rut

    @property
    def carta(self):
        return self.__doc__ % (self._company_name, self._company_rut)

    @property
    def oficio(self):
        return self.__doc__ % (self._company_name, self._company_rut)

    @property
    def thermal80mm(self):
        return self.__doc__ % (self._company_name, self._company_rut)



# Path: src/sii/lib/printing/TemplateElement.py
# class TemplateElement(object):
# 
#     @property
#     def resources(self):
#         """ Requires the return of a list of `Resource` object providing
#         the filename the template is going to expect, and the data that
#         should be inside of it.
# 
#         In case of none, return an empty list.
#         """
#         return []
# 
#     @property
#     def carta(self) -> str:
#         """ Create TeX Template for printable medium: "US Letter"
#         """
#         raise NotImplementedError
# 
#     @property
#     def oficio(self) -> str:
#         """ Create TeX Template for printable medium: "American Foolscap"
#         """
#         raise NotImplementedError
# 
#     @property
#     def thermal80mm(self) -> str:
#         """ Create TeX Template for printable medium: "Thermal endless 80mm width"
#         """
#         raise NotImplementedError


# Path: src/sii/lib/printing/SectionDisclaimer.py
from .TemplateElement import TemplateElement



class SectionDisclaimer(TemplateElement):
    """
    %%%% -----------------------------------------------------------------
    %%%% SECTION - Disclaimer
    %%%% -----------------------------------------------------------------
    \\tiny{
        %s\\ (%s) queda facultado(a) para informar y publicar en los registros
        o bancos de datos personales que operan en el país, u otras empresas con similares
        servicios, la mora o incumplimiento de las obligaciones expresadas en esta factura.
    }
    """
    def __init__(self, company_name, company_rut):
        self._company_name = company_name
        self._company_rut  = company_rut

    @property
    def carta(self):
        return self.__doc__ % (self._company_name, self._company_rut)

    @property
    def oficio(self):
        return self.__doc__ % (self._company_name, self._company_rut)

    @property
    def thermal80mm(self):
        return self.__doc__ % (self._company_name, self._company_rut)



class SectionDisclaimerDummy(TemplateElement):