Conjunto de mudanças 7794 no repositório publico


Ignorar:
Timestamp:
19/10/2014 18:03:20 (5 anos atrás)
Autor:
gustavolepri
Mensagem:

votação nominal corrigida

Localização:
il.sapl/trunk
Arquivos:
6 editados

Legenda:

Não Modificado
Adicionado
Removido
  • il.sapl/trunk/il/sapl/SAPLTool.py

    r7770 r7794  
    33import re
    44import os
     5
     6import time
    57
    68import sha
     
    1416from datetime import datetime
    1517
     18from AccessControl import ClassSecurityInfo
    1619from Globals import DTMLFile
    17 from App.class_init import InitializeClass
     20from Globals import InitializeClass
    1821from OFS.SimpleItem import SimpleItem
    1922
    2023from Products.CMFCore.ActionProviderBase import ActionProviderBase
    21 from Products.CMFCore.utils import registerToolInterface
    2224from Products.CMFCore.utils import UniqueObject
    2325
    2426from zope.interface import Interface
    25 from zope.interface import implements
    2627
    2728from Products.CMFCore.utils import getToolByName
     
    3031import urllib, cStringIO
    3132from appy.pod.renderer import Renderer
     33from PIL import Image
    3234
    3335
     
    3840
    3941
    40 class SAPLTool(UniqueObject, SimpleItem):
    41 
    42     implements(ISAPLTool)
     42class SAPLTool(UniqueObject, SimpleItem, ActionProviderBase):
     43
     44    __implements__ = (ISAPLTool)
    4345
    4446    id = 'portal_sapl'
     
    5254    nome_arquivo_atribuido = 'tmp_atribuido_' + str(os.getpid())
    5355    local_arquivo = '/tmp'
     56
     57    def tempo_sessao(self, tempo):
     58        # retorna a data de inicio da sessao em milisegundos
     59        dt = datetime.strptime(tempo, "%d/%m/%Y %H:%M")
     60        return time.mktime(dt.timetuple()) * 1000
    5461
    5562    def arquivo_atribuido(self, criar = None):
     
    205212        if consulta:
    206213            consulta = self.zsql.lexml_normas_juridicas_obter_zsql(cod_norma=cod_norma)[0]
    207            
     214
    208215            end_web_casa = self.sapl_documentos.props_sapl.end_web_casa
    209216            sgl_casa = self.sapl_documentos.props_sapl.sgl_casa.lower()
    210217            num = len(end_web_casa.split('.'))
    211218            dominio = '.'.join(end_web_casa.split('.')[1:num])
    212            
     219
    213220            prefixo_oai = '%s.%s:sapl/' % (sgl_casa,dominio)
    214221            numero_interno = consulta.num_norma
    215222            tipo_norma = consulta.voc_lexml
    216223            ano_norma = consulta.ano_norma
    217            
     224
    218225            identificador = '%s%s;%s;%s' % (prefixo_oai,tipo_norma,ano_norma,numero_interno)
    219        
     226
    220227            return identificador
    221228        else:
    222229            return None
    223        
     230
    224231    def monta_urn(self, cod_norma):
    225232        ''' Funcao que monta a URN do LexML
     
    233240            urn='urn:lex:br;'
    234241            esferas = {'M':'municipal','E':'estadual'}
    235            
     242
    236243            localidade = self.zsql.localidade_obter_zsql(cod_localidade = self.sapl_documentos.props_sapl.cod_localidade)
    237244            municipio = localidade[0].nom_localidade_pesq.lower()
    238245            for i in re.findall('\s',municipio):
    239246                municipio = municipio.replace(i, '.')
    240            
     247
    241248            # solucao temporaria
    242249            if re.search( '\.de\.', municipio):
     
    255262            for i in re.findall('\s',uf):
    256263                uf = uf.replace(i, '.')
    257            
     264
    258265            # solucao temporaria
    259266            if re.search( '\.de\.', uf):
     
    299306                urn += '@'
    300307                urn += 'inicio.vigencia;publicacao;' + self.pysc.port_to_iso_pysc(consulta.dat_publicacao)
    301 #            else:
    302 #                urn += 'inicio.vigencia;publicacao;'
    303 #               
    304 #            if consulta.dat_publicacao:
    305 #                urn += self.pysc.port_to_iso_pysc(consulta.dat_publicacao)
    306                
     308            #            else:
     309            #                urn += 'inicio.vigencia;publicacao;'
     310            #
     311            #            if consulta.dat_publicacao:
     312            #                urn += self.pysc.port_to_iso_pysc(consulta.dat_publicacao)
     313
    307314            return urn
    308315        else:
    309316            return None
    310    
     317
    311318    def monta_xml(self,urn,cod_norma):
    312319        #criacao do xml
     
    318325            consulta = self.zsql.lexml_normas_juridicas_obter_zsql(cod_norma=cod_norma)[0]
    319326            publicador = self.zsql.lexml_publicador_obter_zsql()[0]
    320        
     327
    321328            url = self.portal_url() + '/consultas/norma_juridica/norma_juridica_mostrar_proc?cod_norma=' + str(cod_norma)
    322            
     329
    323330            E = ElementMaker()
    324331            LEXML = ElementMaker(namespace=self.ns['lexml'],nsmap=self.ns)
    325            
     332
    326333            oai_lexml = LEXML.LexML()
    327            
     334
    328335            oai_lexml.attrib['{%s}schemaLocation' % self.XSI_NS] = '%s %s' % (
    329                         'http://www.lexml.gov.br/oai_lexml',
    330                         'http://projeto.lexml.gov.br/esquemas/oai_lexml.xsd')
    331            
     336                'http://www.lexml.gov.br/oai_lexml',
     337                'http://projeto.lexml.gov.br/esquemas/oai_lexml.xsd')
     338
    332339            id_publicador = str(publicador.id_publicador)
    333340
     
    341348            else:
    342349                epigrafe = u'%s n° %s,  de %s' % (consulta.des_tipo_norma, consulta.num_norma, self.pysc.data_converter_por_extenso_pysc(consulta.dat_norma))
    343            
     350
    344351            ementa = consulta.txt_ementa
    345            
     352
    346353            indexacao = consulta.txt_indexacao
    347            
     354
    348355            formato = 'text/html'
    349356            id_documento = u'%s_%s' % (str(cod_norma), self.sapl_documentos.norma_juridica.nom_documento)
    350357            if hasattr(self.sapl_documentos.norma_juridica,id_documento):
    351                 arquivo = getattr(self.sapl_documentos.norma_juridica,id_documento) 
     358                arquivo = getattr(self.sapl_documentos.norma_juridica,id_documento)
    352359                url_conteudo = arquivo.absolute_url()
    353360                formato = arquivo.content_type
     
    356363                if formato == 'image/ipeg':
    357364                    formato = 'image/jpeg'
    358            
     365
    359366            else:
    360367                url_conteudo = self.portal_url() + '/consultas/norma_juridica/norma_juridica_mostrar_proc?cod_norma=' + str(cod_norma)
    361            
     368
    362369            item_conteudo = E.Item(url_conteudo,formato=formato, idPublicador=id_publicador,tipo='conteudo')
    363370            oai_lexml.append(item_conteudo)
    364            
     371
    365372            item_metadado = E.Item(url,formato='text/html', idPublicador=id_publicador,tipo='metadado')
    366373            oai_lexml.append(item_metadado)
    367            
     374
    368375            documento_individual = E.DocumentoIndividual(urn)
    369376            oai_lexml.append(documento_individual)
     
    396403
    397404        normas = self.zsql.lexml_normas_juridicas_obter_zsql(from_date=from_date,
    398                                                              until_date=until_date,
    399                                                              offset=offset,
    400                                                              batch_size=batch_size,
    401                                                              num_norma=identifier,
    402                                                              tip_esfera_federacao=esfera)
     405            until_date=until_date,
     406            offset=offset,
     407            batch_size=batch_size,
     408            num_norma=identifier,
     409            tip_esfera_federacao=esfera)
    403410        for norma in normas:
    404             resultado = {}           
     411            resultado = {}
    405412            cod_norma = norma.cod_norma
    406413            identificador = self.monta_id(cod_norma)
    407414            urn = self.monta_urn(cod_norma)
    408415            xml_lexml = self.monta_xml(urn,cod_norma)
    409            
     416
    410417            resultado['tx_metadado_xml'] = xml_lexml
    411418            #resultado['id_registro_item'] = resultado['name']
     
    420427            if norma.ind_excluido == 1:
    421428                resultado['deleted'] = 1
    422 #                resultado['cd_status'] = 'D'
     429            #                resultado['cd_status'] = 'D'
    423430            yield {'record': resultado,
    424 #                   'sets': ['person'],
     431                   #                   'sets': ['person'],
    425432                   'metadata': resultado['tx_metadado_xml'],
    426 #                   'assets':{}
    427                    }
     433                   #                   'assets':{}
     434            }
    428435
    429436    def url(self):
     
    776783
    777784InitializeClass(SAPLTool)
    778 registerToolInterface('portal_sapl', ISAPLTool)
  • il.sapl/trunk/il/sapl/skins/cadastros/sessao_plenaria/ordem_dia_sessao/votacao/votacao_salvar_proc.dtml

    r7752 r7794  
    7878  <dtml-except>
    7979    <dtml-let mensagem="'N&atilde;o foi poss&iacute;vel salvar a Vota&ccedil;&atilde;o. Tente novamente!'">
    80       <dtml-var REQUEST>
     80      <dtml-var mensagem_popup_emitir>
    8181     
    8282    </dtml-let>
  • il.sapl/trunk/il/sapl/skins/pysc/tempo_sessao_pysc.py

    r7752 r7794  
    99##
    1010
    11 from time import strptime
    12 from datetime import datetime
    13 
    1411sessao = context.zsql.sessao_plenaria_obter_zsql(ind_iniciada=1)
    1512
     
    2118    tempo = sessao[0].dat_inicio_sessao + ' ' + sessao[0].hr_inicio_sessao
    2219
    23     # isto serve apenas par ao python 2.4
    24     dt = datetime(*(strptime(tempo, "%d/%m/%Y %H:%M")[0:6]))
    25 #    import pdb;pdb.set_trace()
    26     return stool.tempo_sessao(dt)
     20    return stool.tempo_sessao(tempo)
    2721
    2822else:
  • il.sapl/trunk/il/sapl/skins/pysc/ultima_votacao_pysc.py

    r7752 r7794  
    99##
    1010
    11 
    1211ordem_dia = context.zsql.ultima_votacao_obter_zsql(cod_sessao_plen = cod_sessao_plen, ind_excluido=0, ind_votacao_iniciada=0)
    1312
     
    1514
    1615if ordem_dia and expediente:
    17     ordem_ultima = ordem_dia[0].dat_ultima_votacao
    18     expediente_ultima = expediente[0].dat_ultima_votacao
     16    try:
     17        ordem_ultima = ordem_dia[0].dat_ultima_votacao
     18    except IndexError:
     19        ordem_ultima = None
     20    try:
     21        expediente_ultima = expediente[0].dat_ultima_votacao
     22    except IndexError:
     23        expediente_ultima = None
    1924
    2025    if ordem_ultima > expediente_ultima:
     
    2833        else:
    2934            return expediente
     35
     36elif ordem_dia and not expediente:
     37    if tipo:
     38        return 'ordem'
     39    else:
     40        return ordem_dia
     41
     42elif expediente and not ordem_dia:
     43    if tipo:
     44        return 'expediente'
     45    else:
     46        return expediente
     47
     48else:
     49    return None
  • il.sapl/trunk/il/sapl/skins/pysc/votacao_salvar_pysc.py

    r7752 r7794  
    55##bind script=script
    66##bind subpath=traverse_subpath
    7 ##parameters=cod_parlamentar, txt_observacao="", vot_parlamentar="", cod_ordem, cod_materia, tip_resultado_votacao, ind_votacao_iniciada=1, expediente=0
     7##parameters=cod_parlamentar, cod_ordem, cod_materia, tip_resultado_votacao, ind_votacao_iniciada=1, expediente=0, txt_observacao="", vot_parlamentar=""
    88##title=
    99##
     
    2020votos_abstencao=[]
    2121#cod_vot=None
    22 
    2322if vot_parlamentar is not None:
    2423    for voto in vot_parlamentar:
     
    2726
    2827    for voto in vot_parlamentar:
    29         if voto.decode('iso-8859-1')=='Não':
     28        if voto=='Não':
    3029            votos_nao.append(voto)
    3130
    3231    for voto in vot_parlamentar:
    33         if voto.decode('iso-8859-1')=='Abstenção':
     32        if voto=='Abstenção':
    3433            votos_abstencao.append(voto)
    3534
     
    3837    dic = dict(zip(cod_parlamentar, vot_parlamentar))
    3938
    40 if not expediente:
    41     presenca = context.zsql.presenca_ordem_dia_obter_zsql(cod_sessao_plen=cod_sessao_plen, ind_excluido=0)
    42 else:
    43     presenca = context.zsql.presenca_sessao_obter_zsql(cod_sessao_plen=cod_sessao_plen, ind_excluido=0)
    44 
    45 nao_votou = len(presenca) - len(vot_parlamentar)
    4639#votacao=context.zsql.votacao_obter_zsql(cod_votacao=cod_votacao,cod_ordem=cod_ordem,cod_materia=cod_materia,ind_excluido=0)
    4740votacao=context.zsql.votacao_obter_zsql(cod_ordem=cod_ordem,cod_materia=cod_materia,ind_excluido=0)
     
    5245except IndexError:
    5346    cod_sessao_plen = context.zsql.expediente_materia_obter_zsql(cod_ordem=cod_ordem)[0].cod_sessao_plen
     47
     48if not expediente:
     49    presenca = context.zsql.presenca_ordem_dia_obter_zsql(cod_sessao_plen=cod_sessao_plen, ind_excluido=0)
     50else:
     51    presenca = context.zsql.presenca_sessao_obter_zsql(cod_sessao_plen=cod_sessao_plen, ind_excluido=0)
     52
     53nao_votou = len(presenca) - len(vot_parlamentar)
    5454
    5555#for v in votacao:
  • il.sapl/trunk/setup.py

    r7770 r7794  
    4747          'appy.pod',
    4848          'uuid',
    49           'zope.globalrequest==1.0'
     49          'zope.globalrequest==1.0',
     50          'simplejson',
    5051      ],
    5152      entry_points="""
Note: Veja TracChangeset para ajuda no uso do visualizador de conjunto de mudanças.
 

The contents and data of this website are published under license:
Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual.