コード例 #1
0
 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
コード例 #2
0
    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
コード例 #3
0
 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]
コード例 #4
0
 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