Não sei por que está retornando false, dei uma olhada no código e não consegui encontrar o erro, podem me ajudar ?
class ExtratorArgumentosUrl:
def __init__(self, url):
if self.url_eh_valida(url):
self.url = url.lower()
else:
raise LookupError ('URL INVÁLIDA !!!')
def __len__(self):
return len(self.url)
def __str__(self):
moeda_destino,moeda_origem = self.extrai_argumentos()
representacao_string = (f'Valor: {self.extrai_valor()} \nMoeda Origem: {moeda_origem} \nMoeda Destino: {moeda_destino}')
return representacao_string
def __eq__(self, other):
return self.url == other.url
@staticmethod
def url_eh_valida(url):
if url and url.startswith("https://bytebank.com"):
return True
else:
return False
def extrai_argumentos(self):
busca_moeda_origem = "moedaorigem=".lower()
busca_moeda_destino = "moedadestino=".lower()
indice_final_moeda_origem = self.url.find("&")
indice_inicial_moeda_origem = self.encontra_indice_inicial(busca_moeda_origem)
moeda_origem = self.url[indice_inicial_moeda_origem:indice_final_moeda_origem]
if moeda_origem == "moedadestino":
self.troca_moeda_origem()
indice_final_moeda_origem = self.url.find("&")
indice_inicial_moeda_origem = self.encontra_indice_inicial(busca_moeda_origem)
moeda_origem = self.url[indice_inicial_moeda_origem:indice_final_moeda_origem]
indice_inicial_moeda_destino = self.encontra_indice_inicial(busca_moeda_destino)
indice_final_moeda_destino = self.url.find("&valor")
moeda_destino = self.url[indice_inicial_moeda_destino:indice_final_moeda_destino]
return moeda_destino, moeda_origem
def encontra_indice_inicial(self, moeda_buscada):
return self.url.find(moeda_buscada) + len(moeda_buscada)
def troca_moeda_origem(self):
self.url = self.url.replace("moedadestino", "real", 1)
print(self.url)
def extrai_valor(self):
busca_valor = "valor=".lower()
indice_inicial_valor = self.encontra_indice_inicial(busca_valor)
valor = self.url[indice_inicial_valor:]
return valor
from ExtratorArgumentosURL import ExtratorArgumentosUrl
url = "https://bytebank.com/cambio?moedaorigem=moedadestino&moedadestino=dolar&valor=1500"
argumentosUrl1 = ExtratorArgumentosUrl(url)
argumentosUrl2 = ExtratorArgumentosUrl(url)
print(argumentosUrl1)
print(argumentosUrl2 == argumentosUrl1)