def obter_votacao(tipo, num, ano): """Obtém votacões e detalhes de uma proposicão Argumentos: tipo, num, ano -- strings que caracterizam a proposicão Retorna: Uma proposicão como um objeto da classe model.Proposicao Caso a proposição não seja encontrada ou não possua votações, retorna None """ url = OBTER_VOTACOES_PROPOSICAO % (tipo, num, ano) try: request = urllib2.Request(url) xml = urllib2.urlopen(request).read() except urllib2.URLError: return None try: prop = Proposicao.fromxml(xml) except: return None if not isinstance(prop, Proposicao): return None xml = obter_proposicao(tipo, num, ano) #aqui é o xml com mais detalhes sobre a proposição tree = etree.fromstring(xml) prop.id = tree.find('idProposicao').text prop.ementa = tree.find('Ementa').text prop.explicacao = tree.find('ExplicacaoEmenta').text prop.situacao = tree.find('Situacao').text return prop
def obter_votacao(tipo, num, ano): """Get votings ande details of a propositions. Arguments: tipo, num, ano -- strings that caracterize a proposition Retorns: A propostions as an object class model.Proposicao. If the proposition doesn't be found or doesn't have votings, returns None.""" url = OBTER_VOTACOES_PROPOSICAO % (tipo, num, ano) try: request = urllib2.Request(url) xml = urllib2.urlopen(request).read() except urllib2.URLError: return None try: prop = Proposicao.fromxml(xml) except: return None if not isinstance(prop, Proposicao): return None # Here is the xml with more details about the proposition: xml = obter_proposicao(tipo, num, ano) tree = etree.fromstring(xml) prop.id = tree.find_legislature('idProposicao').text prop.ementa = tree.find_legislature('Ementa').text prop.explicacao = tree.find_legislature('ExplicacaoEmenta').text prop.situacao = tree.find_legislature('Situacao').text return prop
def obter_votacao(prop_id, tipo, num, ano): url = OBTER_VOTACAO_PROPOSICAO % (tipo, num, ano) try: xml = urllib.request.urlopen(url).read() except urllib.error.HTTPError: return None xml = str(xml, "utf-8") # aqui é o xml da votação prop = Proposicao.fromxml(xml) prop.id = prop_id xml = obter_proposicao(prop_id) # aqui é o xml com mais detalhes sobre a proposição xml = str(xml, "utf-8") tree = etree.parse(io.StringIO(xml)) prop.ementa = tree.find('Ementa').text prop.explicacao = tree.find('ExplicacaoEmenta').text prop.situacao = tree.find('Situacao').text return prop