Code Duplication    Length = 25-25 lines in 2 locations

satcfdi/create/cfd/cfdi33.py 1 location

@@ 102-126 (lines=25) @@
99
        })
100
101
102
class Retencion(ScalarMap):
103
    """
104
    Nodo requerido para la información detallada de un traslado de impuesto específico.
105
106
    :param base: Atributo requerido para señalar la suma de los atributos Base de los conceptos del impuesto trasladado. No se permiten valores negativos.
107
    :param impuesto: Atributo requerido para señalar la clave del tipo de impuesto retencion.
108
    :param tipo_factor: Atributo requerido para señalar la clave del tipo de factor que se aplica a la base del impuesto.
109
    :param tasa_o_cuota: Atributo condicional para señalar el valor de la tasa o cuota del impuesto que se traslada por los conceptos amparados en el comprobante.
110
    :param importe: Atributo condicional para señalar la suma del importe del impuesto trasladado, agrupado por impuesto, TipoFactor y TasaOCuota. No se permiten valores negativos.
111
    """
112
113
    def __init__(
114
            self,
115
            impuesto: str,
116
            tipo_factor: str,
117
            tasa_o_cuota: Decimal | int = None,
118
            importe: Decimal | int = None,
119
            base: Decimal | int = None,
120
    ):
121
        super().__init__({
122
            'Base': base,
123
            'Impuesto': _find_impuesto(impuesto),
124
            'TipoFactor': tipo_factor,
125
            'TasaOCuota': tasa_o_cuota,
126
            'Importe': importe,
127
        })
128
129

satcfdi/create/cfd/cfdi40.py 1 location

@@ 157-181 (lines=25) @@
154
        })
155
156
157
class Retencion(ScalarMap):
158
    """
159
    Nodo requerido para la información detallada de un traslado de impuesto específico.
160
161
    :param base: Atributo requerido para señalar la suma de los atributos Base de los conceptos del impuesto trasladado. No se permiten valores negativos.
162
    :param impuesto: Atributo requerido para señalar la clave del tipo de impuesto retencion.
163
    :param tipo_factor: Atributo requerido para señalar la clave del tipo de factor que se aplica a la base del impuesto.
164
    :param tasa_o_cuota: Atributo condicional para señalar el valor de la tasa o cuota del impuesto que se traslada por los conceptos amparados en el comprobante.
165
    :param importe: Atributo condicional para señalar la suma del importe del impuesto trasladado, agrupado por impuesto, TipoFactor y TasaOCuota. No se permiten valores negativos.
166
    """
167
168
    def __init__(
169
            self,
170
            impuesto: str,
171
            tipo_factor: str,
172
            tasa_o_cuota: Decimal | int = None,
173
            importe: Decimal | int = None,
174
            base: Decimal | int = None,
175
    ):
176
        super().__init__({
177
            'Base': base,
178
            'Impuesto': _find_impuesto(impuesto),
179
            'TipoFactor': tipo_factor,
180
            'TasaOCuota': tasa_o_cuota,
181
            'Importe': importe,
182
        })
183
184