Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Código Não funciona como o esperado.

Código do ExtratorArgumentosUrl

class ExtratorArgumentosUrl:

def __init__(self, url):
    if self.urlEhValida(url):
       self.url = url
    else:
        raise LookupError("Url, Inválida!!!!!")

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

def extraiArgumentos(self):

    buscaMoedaOrigem = "moedaOrigem"
    buscaMoedaDestino = "moedaDestino"

    indiceInicialMoedaDestino = self.url.find(buscaMoedaDestino) + len(buscaMoedaDestino) + 1

    indiceInicialMoedaOrigem = self.url.find(buscaMoedaOrigem) + len(buscaMoedaOrigem) + 1
    indiceFinalMoedaOrigem = self.url.find("&")

    moedaOrigem = self.url[indiceInicialMoedaOrigem:indiceFinalMoedaOrigem]

    moedaDestino = self.url[indiceInicialMoedaDestino:]

    return moedaOrigem, moedaDestino

código do main.py:

from ExtratorArgumentosUrl import ExtratorArgumentosUrl

''' url = "https://www.bytebank.com.br/cambio?moedaorigem=moedadestino&moedadestino=dolar&valor=700"

argumento = "Lucas Gonçalves Dias"

#............0123456789 11 15 listaUrl = argumento.split(" ") print(listaUrl) ''' url = "https://www.bytebank.com.br/cambio?moedaorigem=real&moedadestino=dolar"

argumentosUrl = ExtratorArgumentosUrl(url) moedaOrigem, moedaDestino = argumentosUrl.extraiArgumentos() print(moedaDestino, moedaOrigem)

'''

index = url.find("moedadestino") + len ("moedadestino") + 1 substring = url[index:] print(substring)

'''

ao rodar o código:

bytebank.com.br/cambio?moedaorigem=real&moedadestino=dolar .bytebank.com.br/cambio?moedaorigem=real

Process finished with exit code 0

qual seria o erro?, abraços :)

3 respostas

Bom, eu tenho uma dica pra te ajudar

from urllib.parse import urlparse, parse_qs


url = urlparse('bytebank.com.br/cambio?moedaorigem=real&moedadestino=dolar')
params = parse_qs(url.query, keep_blank_values=True)
print(params)

testa esse pedacinho de codigo em um outro arquivo, dai voce vai entender como funciona esse parse_qs e vai simplificar toda a logica do extraiArgumentos

Sobre o erro, ficou um pouco dificil de entender como o codigo esta disposto porque vc colou fora do bloco de codigo

Obrigado Ygor, vou testar aqui, e sobre a questão do erro ter ficado fora do bloco, parece ser questão de formatação, as vezes ele entende como código e as vezes parece que não. :)

solução!

@Lucas, qualquer coisa se você precisar de mais ajuda, cola o codigo inteiro do arquivo em um bloco de codigo para que possamos testar e verificar o problema com melhor precisão

Obrigado, qualquer dúvida a disposição.