Exemplo n.º 1
0
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
Exemplo n.º 2
0
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
Exemplo n.º 3
0
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