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

Meu código n aponta error para uma string vazia

class ExtratorURL:
    def __init__(self, url):
        self.url = self.sanitiza_url(url)
        self.sanitiza_url(url)

    def sanitiza_url(self, url):
        if type(url) == str:
            return url.strip()
        else:
            return ""

    def valida_url(self):
        if not self.url:
            raise ValueError("A URL está vazia")


    def get_url_base(self):
        indice_interrogacao = self.url.find('?')
        url_base = self.url[:indice_interrogacao]
        return url_base

    def get_url_parametros(self):
        indice_interrogacao = self.url.find('?')
        url_parametros = self.url[indice_interrogacao + 1:]
        return url_parametros

    def get_valor_parametro(self, parametro_busca):
        indice_parametro = self.get_url_parametros().find(parametro_busca)
        indice_valor = indice_parametro + len(parametro_busca) + 1
        indice_e_comercial = self.get_url_parametros().find('&', indice_valor)
        if (indice_valor == -1):
            valor = self.get_url_parametros()[indice_valor:]
        else:
            valor = self.get_url_parametros()[indice_valor: indice_e_comercial]
        return valor


extrator_url = ExtratorURL("")
valor_quantidade = extrator_url.get_valor_parametro("quantidade")
print(valor_quantidade)

quando dou run n aparece nada

3 respostas

Bom dia Caio, espero que esteja bem.

Dando uma olhada no seu código, acredito que não esteja aparecendo nada, pois na linha 38 extrator_url = ExtratorURL("") você está passando uma string vazia.

Tente executar novamente esse código usando uma URL, por exemplo, "bytebank.com/cambio?quantidade=100&moedaDestino=dolar&moedaOrigem=real"

Seu código a partir da linha 38 ficaria assim:

extrator_url = ExtratorURL("bytebank.com/cambio?quantidade=100&moedaDestino=dolar&moedaOrigem=real")
valor_quantidade = extrator_url.get_valor_parametro("quantidade")
print(valor_quantidade)

O resultado esperado é 100

Veja se funciona para você. Abraço

o codigo funcionou normalmente, muito obrigado, porém quando fosse passada uma URL vazia ou um None n deveria apontar um erro?

solução!

na verdade acabei de ver que esqueci de chamar o método valida url no init da classe ExtratorUrl e por isso nunca apontava erro em caso de strind vazia ou inválidas