Em meu arquivo telefonesBr.py:
import re
class Telefones:
def __init__(self, telefone):
print('Número recebido:', telefone) # debug
if self.valida_tel(telefone):
self.numero = telefone
else:
raise ValueError('Número incorreto!')
def __str__(self):
return self.format_num()
def valida_tel(self, telefone):
padrao = "([0-9]{2,3})?([0-9]{2})([0-9]{4,5})-([0-9]{4})"
resposta = re.findall(padrao, telefone)
if resposta:
return True
else:
return False
def format_num(self):
padrao = "([0-9]{2,3})?([0-9]{2})([0-9]{4,5})-([0-9]{4})"
resposta = re.search(padrao, self.numero)
numero_format = '+{}({}){}-{}'.format(
resposta.group(1),
resposta.group(2),
resposta.group(3),
resposta.group(4)
)
return numero_format
if __name__ == '__main__':
telefone = '552126481234'
telefone_obj = Telefones(telefone)
print(telefone_obj)
main.py
from telefonesBr import Telefones
telefone = '552126481234'
telefone_obj = Telefones(telefone)
print(telefone_obj)
Está me retornando no terminal a seguinte mensagem:
C:\Users\Feulo\PycharmProjects\Bytebank\venv\Scripts\python.exe C:\Users\Feulo\PycharmProjects\Bytebank\telefonesBr.py
Traceback (most recent call last):
File "C:\Users\Feulo\PycharmProjects\Bytebank\telefonesBr.py", line 38, in <module>
telefone_obj = Telefones(telefone)
^^^^^^^^^^^^^^^^^^^
File "C:\Users\Feulo\PycharmProjects\Bytebank\telefonesBr.py", line 11, in __init__
raise ValueError('Número incorreto!')
ValueError: Número incorreto!
Número recebido: 552126481234
Process finished with exit code 1
Testei diversos números diferentes.. e nada