当前位置: 首页>>代码示例>>Python>>正文


Python Firebase.patch方法代码示例

本文整理汇总了Python中firebase.Firebase.patch方法的典型用法代码示例。如果您正苦于以下问题:Python Firebase.patch方法的具体用法?Python Firebase.patch怎么用?Python Firebase.patch使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在firebase.Firebase的用法示例。


在下文中一共展示了Firebase.patch方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: get_votacoes_senador

# 需要导入模块: from firebase import Firebase [as 别名]
# 或者: from firebase.Firebase import patch [as 别名]
def get_votacoes_senador(codigo, params):
	# Salva votações do senador no banco de dados
	# !!! Se a matéria foi votada mais de uma vez (em diferentes tramitações), somente um voto é guardado
	# |_ isso depende de qual for colocado por último no XML (elaborar rotina para ordenar por data!)
	# @params: 		JSON com as seguintes opções:
	# 	sigla:       (opcional) sigla da matéria - retorna apenas as matérias da sigla informada.
    # 	numero:      (opcional) número da matéria - retorna apenas as matérias do número informado.
    # 	ano:         (opcional) ano da matéria - retorna apenas as matérias do ano informado
    # 	tramitacao:  (opcional) (S ou N) - retorna apenas as matérias que estão tramitando (S) ou apenas as que não estão (N). Se não for informado, retorna ambas.

	if params == {}: params = {'ano':'2016', 'sigla':'PEC'}
	tree = af.votacoes_senador(codigo, params)
	votacoes_tree = tree.findall('.//Votacao')

	# Inicialização com possíveis valores de votação
	votos_dict = {
	'Sim' 	: {},
	'Nao' 	: {},
	'PNRV' 	: {},
	'MIS' 	: {},
	'LS' 	: {},
	'LL'	: {},
	'Outro'	: {}
	}	

	for vot in votacoes_tree:
		
		voto = vot.find('.//DescricaoVoto').text

		# Testes "frágeis" para adaptar nome das keys, os tipos são somente esses. Primeiro caracter somente para fugir de probs. de codificiação (unicode). Arrumar futuramente!
		if 	 voto[:1] == 'S'	: voto = 'Sim'
		elif voto[:1] == 'N'	: voto = 'Nao'
		elif voto[:1] == 'M'	: voto = 'MIS'
		elif voto[:1] == 'P'	: voto = 'PNRV'
		elif voto[:2] == 'LS'	: voto = 'LS'
		elif voto[:2] == 'LL'	: voto = 'LL'
		else: 					  voto = 'Outro'

		cod_materia = vot.find('.//CodigoMateria').text

		print cod_materia, voto

		votos_dict[voto][cod_materia] = {}
		votos_dict[voto][cod_materia]['DescricaoVoto'] 			= vot.find('.//DescricaoVoto').text
		votos_dict[voto][cod_materia]['DescricaoVotacao'] 		= vot.find('.//DescricaoVotacao').text
		votos_dict[voto][cod_materia]['DescricaoResultado'] 	= vot.find('.//DescricaoResultado').text
		votos_dict[voto][cod_materia]['AnoMateria'] 			= vot.find('.//AnoMateria').text
		votos_dict[voto][cod_materia]['SiglaSubtipoMateria'] 	= vot.find('.//SiglaSubtipoMateria').text
	
	# Salva no Firebase (teste com atualização 1 a 1)
	for key, val in votos_dict.iteritems():
		for k, v in val.iteritems():
			url = '/senadores/' + codigo + '/votos/' + key + '/' + k
 			f = Firebase(FBURL + url)
			f.patch(votos_dict[key][k])
开发者ID:luipillmann,项目名称:databr,代码行数:57,代码来源:get_clean_data.py


注:本文中的firebase.Firebase.patch方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。