Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Sugestão de melhoria do código Valida_CPF

Bom dia! Notei que o código que o professor escreveu não funciona quando passamos um CPF ou CNPJ já formatados (por exemplo, 153.162.647-54 ou 35.379.838/0001-12), pois a função cria_documento avalia se o documento passado tem o comprimento de um CPF ou CNPJ não formatados, tamanhos 11 e 14 respectivamente.

Assim, pensei numa estratégia que permita à função também validar documentos já formatados. Para isso usei regex para substitui os caracteres não numéricos por strings vazias. Assim:

from validate_docbr import CPF, CNPJ
import re

class Documento:
    @staticmethod
    def cria_documento(documento):

        documento = re.sub(r'[./-]', "", documento) # Substitui os caracteres '.', '/' e '-' por strings vazias ("").

        if len(documento) == 11:
            return DocCpf(documento)
        elif len(documento) == 14:
            return DocCnpj(documento)
        else:
            raise ValueError('Quantidade de dígitos está incorreta!!')
1 resposta
solução!

Ficou otimo amigo, isso mesmo!