Skip to content

Commit

Permalink
Método generate_list
Browse files Browse the repository at this point in the history
  • Loading branch information
alvarofpp committed Mar 27, 2019
1 parent cd0771c commit 5aa52d1
Showing 1 changed file with 24 additions and 3 deletions.
27 changes: 24 additions & 3 deletions validate_docbr/BaseDoc.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,39 @@
class BaseDoc(ABC):
"""Classe base para todas as classes referentes a documentos."""

def validate(self, doc: str) -> bool:
def validate(self, doc: str = '') -> bool:
"""Método para validar o documento desejado."""
pass

def generate(self, mask: bool = False) -> str:
"""Método para gerar um documento válido."""
pass

def mask(self, doc: str) -> str:
def generate_list(self, n: int = 1, mask: bool = False, repeat: bool = False) -> list:
"""Gerar uma lista do mesmo documento."""
doc_list = []

if n <= 0:
return doc_list

for i in range(n):
doc_list.append(self.generate(mask))

while not repeat:
doc_set = set(doc_list)
unique_values = len(doc_set)

if unique_values < n:
doc_list = list(doc_set) + self.generate_list((n-unique_values), mask, repeat)
else:
repeat = True

return doc_list

def mask(self, doc: str = '') -> str:
"""Mascara o documento enviado"""
pass

def _only_digits(self, doc: str) -> str:
def _only_digits(self, doc: str = '') -> str:
"""Remove os outros caracteres que não sejam dígitos."""
return "".join([x for x in doc if x.isdigit()])

0 comments on commit 5aa52d1

Please sign in to comment.