Quando importamos o arquivo validate_docbr a entrada do documento poderia ser feita tanto utilizando somente os números (xxxxxxxxxxx) quanto o numero já formatado (xxx.xxx.xxx-xx).
cpf_um = "11111111112"
cpf_um = "111.111.111-12"
Já depois do factory as entradas só são validas quando digitadas somente os números, pois a class Documento utiliza da quantidades de caracteres na str de entrada para definir qual class seguir
from validate_docbr import CPF, CNPJ
class Documento:
@staticmethod
def cria_documento(documento):
if len(documento) == 11:
return DocCpf(documento)
elif len(documento) == 14:
return DocCnpj(documento)
else:
raise ValueError("Quantidade de dígitos incorreta!")
# resto do código
então perdemos essa funcionalidade do arquivo importado