Assitindo a aula 03 Refatorando o código ao editar a classe cpf_cnpj com um metodo estático, quando chamo essa clase no main da o seguinte erro abixo, como também deixo as duas classes para avaliação:
C:\Users\jards\PycharmProjects\brasilidades\venv\Scripts\python.exe C:/Users/jards/PycharmProjects/brasilidades/main.py Traceback (most recent call last): File "C:\Users\jards\PycharmProjects\brasilidades\main.py", line 1, in from cpf_cnpj import Documento
#Classe main
from cpf_cnpj import Documento
teste = ("12390472000187")
documento = Documento.cria_docuemento(teste)
print(documento)
#Classe cpf_cnpj
class Documento:
@staticmethod
def cria_docuemento(documento):
if len(documento) == 11:
return DocCpf(documento)
elif len(documento) == 14:
return DocCnpj(documento)
else:
raise ValueError("Quantidade de digitos inválida!!"")
class DocCpf(documento):
def __init__(self, cpf):
self.cpf = None
self.valida_cpf(cpf)
def valida_cpf(self, cpf):
validador = CPF()
if validador.validate(cpf):
self.cpf = cpf
print("CPF salvo")
else:
raise ValueError("CPF inválido!!!")
def mascara_cpf(self):
mascara = CPF()
return mascara.mask(self.cpf)
def __str__(self):
return self.mascara_cpf()
class DocCnpj(documento):
def __init__(self, cnpj):
self.cnpj = None
self.valida_cnpj(cnpj)
def valida_cnpj(self, cnpj):
validador = CNPJ()
if validador.validate(cnpj):
self.cnpj = cnpj
print("CNPJ salvo")
else:
raise ValueError("CNPJ inválido!!!")
def mascara_cnpj(self):
mascara = CNPJ()
return mascara.mask(self.cnpj)
def __str__(self):
return self.mascara_cnpj()