# 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
""" Totals Section of the Document

Contains:
    * Discount
    * Net Amount
    * Tax exempt Amount
    * Tax
    * (optional) Other Tax Types
    * Total
"""


SPECIAL_TAX = {
    19:  ('IAH',   12, '+'),
    15:  ('RTT',   19, '-'),
    33:  ('IRM',    8, '-'),
    331: ('IRM',   19, '-'),
    34:  ('IRT',    4, '-'),
    39:  ('IRPPA', 19, '-')
}



# 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/SectionTotals.py
from .TemplateElement import TemplateElement

""" Totals Section of the Document

Contains:
    * Discount
    * Net Amount
    * Tax exempt Amount
    * Tax
    * (optional) Other Tax Types
    * Total
"""


SPECIAL_TAX = {
    19:  ('IAH',   12, '+'),
    15:  ('RTT',   19, '-'),
    33:  ('IRM',    8, '-'),
    331: ('IRM',   19, '-'),
    34:  ('IRT',    4, '-'),
    39:  ('IRPPA', 19, '-')
}



class SectionTotals(TemplateElement):