def listar_veiculos(): '''Retorna um vetor com todos os veículos''' headers = Inthegra_API.coletar_headers() headers['X-Auth-Token'] = token req = requests.get(Inthegra_API.url_base + '/veiculos', headers = headers) veiculos = [] for registro in req.json(): linha = registro['Linha'] rota = Linha( codigo = linha.get('CodigoLinha'), nome = linha.get('Denomicao'), ponto_partida = linha.get('Origem'), ponto_retorno = linha.get('Retorno'), circular = linha.get('Circular') ) for veiculo in linha.get('Veiculos'): frota = Veiculo( codigo = veiculo.get('CodigoVeiculo'), latitude = veiculo.get('Lat'), longitude = veiculo.get('Long'), hora = veiculo.get('Hora'), linha = rota ) veiculos.append(frota) return veiculos
def procurar_parada_codigoLinha(codigo_linha): '''Retorna as paradas da linha indicada no parâmetro informado Parâmetro solicitado: string contendo o código da linha. ''' headers = Inthegra_API.coletar_headers() headers['X-Auth-Token'] = token req = requests.get(Inthegra_API.url_base + '/paradasLinha?busca=' + str(codigo_linha), headers = headers) paradas_encontradas = [] if req.status_code == 404: print('Termo informado: {}. Sem resultados para o termo informado!'.format(str(codigo_linha))) else: linha = req.json()['Linha'] rota = Linha( codigo=linha.get('CodigoLinha'), nome=linha.get('Denomicao'), ponto_partida=linha.get('Origem'), ponto_retorno=linha.get('Retorno'), circular=linha.get('Circular') ) for parada in req.json()['Paradas']: paradas = Parada( codigo = parada.get('CodigoParada'), nome = parada.get('Denomicao'), endereco = parada.get('Endereco'), latitude = parada.get('Lat'), longitude = parada.get('Long') ) paradas_encontradas.append(paradas) return paradas_encontradas
def put_linha(self, id, deleted, info, pontos, hashes): """Atualiza uma linha no banco (incluindo delete) e anula seu cache. O cache dos hashes não é atualizado (supõe-se que eles também serão atualizados no final). Retorna mensagem consumível pelo sptscraper""" try: id = int(id) self.cache.delete("info_por_linha_id_%s" % id) if deleted == "true": linha = Linha.all().filter("id =", id).fetch(1) if linha: linha.delete() return "OK LINHA DELETE %s " % id else: return "OK LINHA DELETE %s (NAO EXISTIA)" % id else: linha = Linha.all().filter("id =", id).fetch(1) if linha: linha = linha[0] linha.info = info linha.pontos = pontos linha.hashes = hashes else: linha = Linha(id=id, info=info, pontos=pontos, hashes=hashes) linha.put() return "OK LINHA UPLOAD %s " % id except: return "ERRO LINHA: %s" % sys.exc_info()[1]
def listar_linhas(): '''Retorna um vetor com todas as linhas de ônibus''' headers = Inthegra_API.coletar_headers() headers['X-Auth-Token'] = token req = requests.get(Inthegra_API.url_base + '/linhas', headers = headers) linhas = [] for linha in req.json(): rota = Linha( codigo = linha.get('CodigoLinha'), nome = linha.get('Denomicao'), ponto_partida = linha.get('Origem'), ponto_retorno = linha.get('Retorno'), circular = linha.get('Circular') ) linhas.append(rota) return linhas