Código fonte de legislei.SDKs.AssembleiaLegislativaSP.proposicoes

from .base import Base

[documentos]class Proposicoes(Base): """ Cliente para obtenção de proposições da ALESP """
[documentos] def obterTodasProposicoes(self): """ Obtém todas as proposituras da ALESP Formato da resposta:: propositura = { 'id': String, 'ementa': String, 'numero': String, 'ano': String, 'dataEntrada': String, 'dataPublicacao': String } :return: Generator de proposituras :rtype: Generator """ for event, elem in self.get_XML_from_ZIP( 'processo_legislativo/proposituras.zip', 'proposituras.xml' ): if elem.tag == 'propositura': yield { 'id': self.get_child_inner_text(elem, 'IdDocumento'), 'ementa': self.get_child_inner_text(elem, 'Ementa'), 'numero': self.get_child_inner_text(elem, 'NroLegislativo'), 'ano': self.get_child_inner_text(elem, 'AnoLegislativo'), 'dataEntrada': self.get_child_inner_text(elem, 'DtEntradaSistema'), 'dataPublicacao': self.get_child_inner_text(elem, 'DtPublicacao'), 'idNatureza': self.get_child_inner_text(elem, 'IdNatureza') }
[documentos] def obterTodosAutoresProposicoes(self): """ Obtém todos os autores de proposituras da ALESP Formato da resposta:: autor = { 'idDocumento': String, 'idAutor': String, 'nomeAutor': String } :return: Generator de autores :rtype: Generator """ for event, elem in self.get_XML_from_ZIP( 'processo_legislativo/documento_autor.zip', 'documento_autor.xml' ): if elem.tag == 'DocumentoAutor': yield { 'idDocumento': self.get_child_inner_text(elem, 'IdDocumento'), 'idAutor': self.get_child_inner_text(elem, 'IdAutor'), 'nomeAutor': self.get_child_inner_text(elem, 'NomeAutor') }
[documentos] def obterNaturezaDocumentos(self): """ Obtém todos os tipos diferentes de documentos da ALESP :return: Lista de tipos de documentos :rtype: List """ tipos = [] for child in self.get_XML("processo_legislativo/naturezasSpl.xml"): if child.tag == 'natureza': tipos.append({ 'id': self.get_child_inner_text(child, 'idNatureza'), 'descricao': self.get_child_inner_text(child, 'nmNatureza'), 'sigla': self.get_child_inner_text(child, 'sgNatureza') }) return tipos