Consegui realizar a atividade mas achei meu código cansativo de se ler. Alguma sugestão de como posso melhora-lo?
from validate_docbr import CPF, CNPJ
class ValidarDocumentoEmUmaUnicaClasse:
def __init__(self, documento, tipo_documento):
self._documento = documento
self._tipo_documento = tipo_documento.lower()
self.validar_documento(documento, tipo_documento)
def __str__(self):
return self.formartar_documento()
def validar_documento(self, documento, tipo_documento):
if tipo_documento == "cpf":
if CPF().validate(documento):
return self.documento
else:
raise ValueError("Documento inválido")
elif tipo_documento == "cnpj":
if CNPJ().validate(documento):
return self.documento
else:
raise ValueError("CNPJ inválido")
else:
raise ValueError("Documento Inválido")
@property
def documento(self):
return self._documento
@property
def tipo_documento(self):
return self._tipo_documento
@documento.setter
def documento(self, novo_documento):
self._documento = novo_documento
@tipo_documento.setter
def tipo_documento(self, novo_documento):
self._tipo_documento = novo_documento
def formartar_documento(self):
if self.tipo_documento == "cpf":
validador_cpf = CPF()
return validador_cpf.mask(self.documento)
elif self.tipo_documento == "cnpj":
validador_cnpj = CNPJ()
return validador_cnpj.mask(self.documento)