o cpf esta dando certo, mas a cnpj da erro mesmo quando o numero de caracteres é 14 estou usando a cnpj = 46257910000155
from validate_docbr import CPF, CNPJ
class CpfCnpj:
def __init__(self, documento, tipo_documento):
documento = str(documento)
self.tipo_documento = tipo_documento
if tipo_documento == 'cpf':
if self.cpf_eh_valido(documento):
self.cpf = documento
else:
raise ValueError('CPF inválido!!!')
elif tipo_documento == 'cnpj':
if self.cpf_eh_valido(documento):
self.cnpj = documento
else:
raise ValueError('CPF inválido!!!')
else:
raise ValueError ('documento invalido!!!')
def cpf_eh_valido(self,documento):
if len(documento) == 11:
validador = CPF()
return validador.validate(documento)
else:
raise ValueError('quantidade de digitos invalida!!!')
def format_cpf(self):
mascara = CPF()
return mascara.mask(self.cpf)
def format_cnpj(self):
mascara = CNPJ()
return mascara.mask(self.cnpj)
def __str__(self):
if self.tipo_documento == 'cpf':
return f'seu cpf é {self.format_cpf()}'
elif self.tipo_documento == 'cnpj':
return f'sua cnpj é {self.format_cnpj()}'
def cnpj_eh_Valido(self, documento):
if len(documento) == 14:
validador = CNPJ()
return validador.validate(documento)
else:
raise ValueError("Quantidade de dígitos inválida!")