def get(self):
		id = self.request.get('id')
		try:							
			opener = urllib2.build_opener()
			opener.addheaders = [('App-Token', settings.TRANSPARENCIA_TOKEN), ('Content-Type', 'application/json'), ('Accept', 'application/json')]
			result = opener.open(settings.uri('candidatos')+"/"+id)
			profile = json.decode(result.read())
			
			result = opener.open(settings.uri('candidatos')+"/"+id+ "/bens")
			bens = json.decode(result.read())
			profile["bens"] = bens
			
			result = opener.open(settings.uri('candidatos')+"/"+id+ "/doadores")
			doadores = json.decode(result.read())
			profile["doadores"] = doadores
			
			result = opener.open(settings.uri('candidatos')+"/"+id+ "/candidaturas")
			candidaturas = json.decode(result.read())
			profile["candidaturas"] = candidaturas
			
			result = opener.open(settings.uri('candidatos')+"/"+id+ "/estatisticas")
			estatisticas = json.decode(result.read())
			profile["estatisticas"] = estatisticas
		except urllib2.URLError, e:
			profile = []
Exemple #2
0
def _put_candidate(candidato):
    try:
        opener = urllib2.build_opener()
        opener.addheaders = [('App-Token', settings.TRANSPARENCIA_TOKEN),
                             ('Content-Type', 'application/json'), ('Accept', 'application/json')]

        uri = settings.uri('candidato_stats').format(
            candidato_id=candidato['id'])
        result = opener.open(uri)

        candidato_stats = json.decode(result.read())
        if candidato_stats:
            candidato_stats = candidato_stats[0]
        else:
            candidato_stats = {}

        Candidato(candidato_id=int(candidato['id']), 
                  instrucao=candidato['instrucao'], 
                  reeleicao=candidato['reeleicao'], 
                  cargo=candidato['cargo'],
                  estado=candidato['estado'], 
                  nome=candidato['nome'], 
                  foto=candidato['foto'],
                  faltas_plenario=float(candidato_stats.get('faltas_plen', 0)),
                  faltas_comissoes=float(candidato_stats.get('faltas_com', 0))).put()
    except urllib2.URLError, e:
        print '>>>>>>>>>>>>>>>>>>>> %s' % str(e)
        pass
def load_partidos():
	ndb.delete_multi(
    	Partido.query().fetch(keys_only=True)
	)
	try:
		opener = urllib2.build_opener()
		opener.addheaders = [('App-Token', settings.TRANSPARENCIA_TOKEN), ('Content-Type', 'application/json'), ('Accept', 'application/json')]
		result = opener.open(settings.uri('partidos'))

		partidos = json.decode(result.read())
		for partido in partidos:
			Partido(partido_id=int(partido['partidoId']), sigla=partido['sigla']).put()
	except urllib2.URLError, e:
		print '>>>>>>>>>>>>>>>>>>>> %s' %str(e)
		pass
def load_cargos():
	ndb.delete_multi(
    	Cargo.query().fetch(keys_only=True)
	)

	try:
		opener = urllib2.build_opener()
		opener.addheaders = [('App-Token', settings.TRANSPARENCIA_TOKEN), ('Content-Type', 'application/json'), ('Accept', 'application/json')]
		result = opener.open(settings.uri('cargos'))

		cargos = json.decode(result.read())
		for cargo in cargos:
			Cargo(cargo_id=int(cargo['cargoId']), nome=cargo['nome']).put()
	except urllib2.URLError, e:
		print '>>>>>>>>>>>>>>>>>>>> %s' %str(e)
		pass
def _load_candidato_by_uf(estado):
	cargos = Cargo.query().fetch()
	for cargo in cargos:
		try:
			opener = urllib2.build_opener()
			opener.addheaders = [('App-Token', settings.TRANSPARENCIA_TOKEN), ('Content-Type', 'application/json'), ('Accept', 'application/json')]

			uri = settings.uri('candidatos_by_uf_cargo').format(uf=estado.sigla, cargo=cargo.cargo_id)
			result = opener.open(uri)

			candidatos = json.decode(result.read())
			for candidato in candidatos:
				_put_candidate(candidato)

		except urllib2.URLError, e:
			print '>>>>>>>>>>>>>>>>>>>> %s' %str(e)
			pass
def load_candidatos():
	ndb.delete_multi(
    	Candidato.query().fetch(keys_only=True)
	)

	try:
		opener = urllib2.build_opener()
		opener.addheaders = [('App-Token', settings.TRANSPARENCIA_TOKEN), ('Content-Type', 'application/json'), ('Accept', 'application/json')]

		uri = settings.uri('candidatos_by_uf_cargo')

		estados = Estado.query().fetch()
		for estado in estados:
			_load_candidato_by_uf(estado)
		
	except urllib2.URLError, e:
		print '>>>>>>>>>>>>>>>>>>>> %s' %str(e)
		pass