1
resposta

Moeda origem nao aparece

Defini a funcao para substituir a moeda origem por dolar ,e quando mando imprimir o url, ele aparece o url certo, porem,a moeda origem nao imprimi,apenas a moeda destino que esta como real

class ExtrairArgumentosUrl:
    def __init__(self, url):
        if self.urlehvalida(url):
            self.url = url
        else:
            print("Url Invalida!!!!!!")

    @staticmethod
    def urlehvalida(url):
        if url:
            return True
        else:
            return False


    def extraiargumentos(self,):

        buscamoedaorigem = "moedaorigem="
        buscamoedadestino = "moedadestino="

        iniciomoedaorigem = self.indicedebusca(buscamoedaorigem)
        fimmoedaorigem = self.url.find("&")


        moedaorigem = self.url[iniciomoedaorigem:fimmoedaorigem]

        if moedaorigem == "moedadestino":
            self.substituiargumento()
            iniciomoedaorigem = self.indicedebusca(moedaorigem)
            fimmoedaorigem = self.url.find("&")
            moedaorigem = self.url[iniciomoedaorigem:fimmoedaorigem]


        iniciomoedadestino = self.indicedebusca(buscamoedadestino)
        moedadestino = self.url[iniciomoedadestino:]

        return moedaorigem,moedadestino

    def indicedebusca(self, valor):
        return self.url.find(valor) + len(valor)

    def substituiargumento(self):
        self.url = self.url.replace("moedadestino","dolar",1)



Este esta em outro projeto




from ExtrairArgumentosUrl import ExtrairArgumentosUrl

url = "https://www.bytebank.com.br/cambio?moedaorigem=moedadestino&moedadestino=real"

site = ExtrairArgumentosUrl(url)

moedaorigem,moedadestino = site.extraiargumentos()
print(moedaorigem,moedadestino)
1 resposta

Bom dia, Pedro!

O problema está dentro da verificação da moedaorigem.

if moedaorigem == "moedadestino":
    self.substituiargumento()
    iniciomoedaorigem = self.indicedebusca(moedaorigem)
    fimmoedaorigem = self.url.find("&")
    moedaorigem = self.url[iniciomoedaorigem:fimmoedaorigem]

Ao invés de iniciomoedaorigem = self.indicedebusca(moedaorigem), fazer iniciomoedaorigem = self.indicedebusca(buscamoedaorigem). Desta forma o seu programa funcionará!

Espero ter ajudado! Bons estudos e um abraço!