class ExtrairArgumentoURL:
def __init__(self,url):
if self.stringEhValida(url):
self.url = url.lower()
else:
raise lookuperror("URL inválida")
@staticmethod
def stringEhValida(url):
if url:
return True
else:
return False
def encontraMoeda(self):
busca_moeda_origem = "moedaorigem"
busca_moeda_destino = "moedadestino"
indice_origem_inicio =self.encontraIndiceInicioSubstring(busca_moeda_origem)
indice_origem_fim = self.url.find("&")
moedaOrigem = self.url[indice_origem_inicio:indice_origem_fim]
if moedaOrigem == "moedadestino":
moedaOrigem = self.verficiaMoedaOrigem(busca_moeda_origem)
indice_destino_inicio =self.encontraIndiceInicioSubstring(busca_moeda_destino)
indice_destino_fim= self.url.find("&valor")
moedaDestino = self.url[indice_destino_inicio:indice_destino_fim]
return moedaOrigem, moedaDestino
def encontraIndiceInicioSubstring (self, moeda_valor):
return self.url.find(moeda_valor) + len(moeda_valor) + 1
def verficiaMoedaOrigem(self,busca_moeda_origem):
self.url = self.url.replace("moedadestino","real",1)
inicioSubstringOrigem = self.encontraIndiceInicioSubstring(busca_moeda_origem)
finalSubstringOrigem = self.url.find("&")
return self.url[inicioSubstringOrigem:finalSubstringOrigem]
def retornaValor(self):
buscaValor = "Valor".lower
inicioSubstringValor = self.encontraIndiceInicioSubstring(buscaValor)
valor = self.url[inicioSubstringValor:]
return valor
minha_url = ExtrairArgumentoURL("www.bytebank.com.br/cambio?moedaOrigem=moedadestino&moedaDestino=dolar&valor=1500")
moedaOrigem, moedaDestino = minha_url.encontraMoeda()
cambio = minha_url.retornaValor()
print(moedaOrigem, moedaDestino, cambio)