satcfdi.create.cfd.leyendasFisc10   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 49
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 26
dl 0
loc 49
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A Leyenda.__init__() 0 10 1
A LeyendasFiscales.__init__() 0 7 1
1
"""leyendasFisc http://www.sat.gob.mx/leyendasFiscales"""
2
from decimal import Decimal
3
from datetime import datetime, date, time
4
from collections.abc import Sequence
5
from ...cfdi import CFDI
6
from ...xelement import XElement
7
from ...utils import ScalarMap
8
9
10
class Leyenda(ScalarMap):
11
    """
12
    Nodo para expresar la(s) leyenda(s) fiscal(es) que apliquen al comprobante
13
    
14
    :param texto_leyenda: Atributo requerido para especificar la leyenda fiscal
15
    :param disposicion_fiscal: Atributo opcional para especificar la Ley, Resolución o Disposición fiscal que regula la leyenda, deberá expresarse en siglas de mayúsculas y sin puntuación (p. ej: ISR)
16
    :param norma: Atributo opcional para especificar el número de Artículo o en su caso Regla que regula la obligación de la leyenda
17
    """
18
    
19
    def __init__(
20
            self,
21
            texto_leyenda: str,
22
            disposicion_fiscal: str = None,
23
            norma: str = None,
24
    ): 
25
        super().__init__({
26
            'TextoLeyenda': texto_leyenda,
27
            'DisposicionFiscal': disposicion_fiscal,
28
            'Norma': norma,
29
        })
30
        
31
32
class LeyendasFiscales(CFDI):
33
    """
34
    Nodo opcional para incluir leyendas previstas en disposiciones fiscales, distintas a las contenidas en el estándar de Comprobante Fiscal Digital (CFD) o Comprobante Fiscal Digital a través de Internet (CFDI).
35
    
36
    :param leyenda: Nodo para expresar la(s) leyenda(s) fiscal(es) que apliquen al comprobante
37
    """
38
    
39
    tag = '{http://www.sat.gob.mx/leyendasFiscales}LeyendasFiscales'
40
    version = '1.0'
41
    
42
    def __init__(
43
            self,
44
            leyenda: Leyenda | dict | Sequence[Leyenda | dict],
45
    ): 
46
        super().__init__({
47
            'Version': self.version,
48
            'Leyenda': leyenda,
49
        })
50
        
51
52