Eu tentei fazer o IF em uma unica linha e não deu certo. E não consegui corrigir o erro do none.
class ExtratorURL:
def __init__(self, url):
self.url = self.sanitiza_url(url)
self.indice_interrogacao = self.url.find('?')
self.valida_url()
def sanitiza_url(self, url):
if type(url) == str:
return url.strip()
else:
return ""
def valida_url(self):
# Alternativa correta! O not vai “inverter” o valor booleano da variável quantidade.
# Ou seja, caso quantidade seja vazia (“”) ou zero (0), vai ser convertida em True
# e então o ValueError vai ser lançado.
if not self.url:
raise ValueError('A URL está vazia!!!')
# if self.url.startswith('https://'):
# print('A URL começa com https')
# else:
# print('A URL não começa com https')
# if self.get_url_base().endswith('cambio'):
# print('estamos na seção de cambio do site')
def get_comeca_com(self, palavra):
if self.get_url_base().startswith(palavra):
check = 'URL começa com https'
else:
check = 'URL Não começa com https'
return print(check)
def get_secao_site(self, palavra):
if self.get_url_base().endswith(palavra):
check = 'Estamos na seção de cambio'
else:
check = 'Não estamos na seção de cambio'
return print(check)
def get_url_base(self):
url_base = self.url[:self.indice_interrogacao]
return url_base
def get_url_parametros(self):
url_parametros = self.url[self.indice_interrogacao + 1:]
return url_parametros.lower()
def get_valor_parametro(self, parametro_busca):
parametro_busca = parametro_busca.lower()
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_e_comercial == -1):
valor = self.get_url_parametros()[indice_valor:]
else:
valor = self.get_url_parametros()[indice_valor: indice_e_comercial]
return valor
extrator_url = ExtratorURL('https://bytebank.com/cambio?quantidade=100&moedaOrigem=real&moedaDestino=dolar')
# Base da URL
print(extrator_url.get_url_base())
# Parametros da URL
print(extrator_url.get_url_parametros())
# valor inputado
print(extrator_url.get_valor_parametro('quantidade'))
# print do tipo de objeto do parametro valor
print(type(extrator_url.get_valor_parametro('quantidade')))
# Começa com https:// ?
print(extrator_url.get_comeca_com('https://'))
# Qual seção do site ?
print(extrator_url.get_secao_site('cambio'))
"C:\Program Files\Python37\python.exe" C:/Users/sbtvpm/PycharmProjects/pythonProject2/main.py bytebank.com/cambio quantidade=100&moedaorigem=real&moedadestino=dolar 100 <class 'str'> URL Não começa com https None Estamos na seção de cambio None