source: publico/PortalInterlegis/produtos/il.portal.theme/trunk/il/portal/theme/browser/views.py @ 6082

Última Alteração nesse arquivo desde 6082 foi 6082, incluída por davilima6, 8 anos atrás

pep8 e comentando linhas nao utilizadas

  • Propriedade svn:executable mudada para *
File size: 5.7 KB
Linha 
1#!/usr/bin/python
2# coding=utf-8
3
4#import locale
5#from AccessControl import ClassSecurityInfo
6from Products.Five import BrowserView
7#from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
8#from Products.CMFCore.utils import getToolByName
9from Acquisition import aq_inner
10from zope.interface import implements
11#from Products.CMFPlone import utils
12from zope.app.component.hooks import getSite
13from DateTime import DateTime
14import datetime
15
16from il.portal.theme.browser.interfaces import IPortalView
17
18#TODO: Metodo deprecated
19#from Products.CMFPlone.CatalogTool import is_folderish
20#TODO: Usar este
21#context.restrictedTraverse('@@plone').isStructuralFolder()
22
23
24class IlPortalView(BrowserView):
25    implements(IPortalView)
26    """View geral para o produto"""
27
28    def __init__(self, context, request):
29        self.context = aq_inner(context)
30        self.request = aq_inner(request)
31        self.request_get = getattr(self.request, 'get')
32        self.catalog = getSite().portal_catalog
33        self.path = self.context.portal_url.getPortalPath()
34
35    def getNoticiaPrincipal(self):
36        ctlg = self.catalog(review_state='principal',
37                            sort_on="effective")[:5]
38        return ctlg
39
40    def getNoticias(self):
41        caminho = self.path + '/noticias'
42        ctlg = self.catalog(path={'query': caminho, 'depth': 1},
43                            review_state='published')[:7]
44        return ctlg
45
46    def getNomeMes2(self):
47        """Retorna o nome mes atual"""
48
49        #from DateTime import DateTime  # duplicate and never unused
50        #import datetime  # duplicated and never used
51
52        #dia = int(DateTime().strftime('%d'))  #  duplicate and never unused
53        mes = int(DateTime().strftime('%m'))
54        ano = int(DateTime().strftime('%Y'))
55
56        data1_ini = DateTime(ano, mes, 01)
57        data2_ini = data1_ini + 31
58        data3_ini = data1_ini + 62
59
60        data1_fim = data1_ini + 30
61        data2_fim = data2_ini + 30
62        data3_fim = data3_ini + 30
63
64        data1b = data1_ini.strftime('%B')
65        data2b = data2_ini.strftime('%B')
66        data3b = data3_ini.strftime('%B')
67
68        data1f = self.getNomeMesPtbr(data1b)
69        data2f = self.getNomeMesPtbr(data2b)
70        data3f = self.getNomeMesPtbr(data3b)
71
72        datas = {'01': {'mes': data1f,
73                        'events': self.getEvents(data1_ini, data1_fim)},
74
75                 '02': {'mes': data2f,
76                        'events': self.getEvents(data2_ini, data2_fim)},
77
78                 '03': {'mes': data3f,
79                        'events': self.getEvents(data3_ini, data3_fim)},
80                }
81
82        return datas
83
84    def getNomeMes(self):
85        """Retorna o nome mes atual"""
86
87        from DateTime import DateTime
88        #import datetime
89        from dateutil.relativedelta import relativedelta
90
91        #dia = datetime.date.today().day
92        mes = datetime.date.today().month
93        ano = datetime.date.today().year
94
95        dt1 = datetime.date(ano, mes, 01)
96        dt2 = dt1 + relativedelta(months=+1)
97        dt3 = dt1 + relativedelta(months=+2)
98
99        data1_ini = DateTime(dt1.year, dt1.month, 01)
100        data2_ini = DateTime(dt2.year, dt2.month, 01)
101        data3_ini = DateTime(dt3.year, dt3.month, 01)
102
103        dtf1 = dt1 + relativedelta(months=+1) + relativedelta(days=-1)
104        dtf2 = dt2 + relativedelta(months=+1) + relativedelta(days=-1)
105        dtf3 = dt3 + relativedelta(months=+1) + relativedelta(days=-1)
106
107        data1_fim = DateTime(dtf1.year, dtf1.month, dtf1.day)
108        data2_fim = DateTime(dtf2.year, dtf2.month, dtf2.day)
109        data3_fim = DateTime(dtf3.year, dtf3.month, dtf3.day)
110
111        data1b = data1_ini.strftime('%B')
112        data2b = data2_ini.strftime('%B')
113        data3b = data3_ini.strftime('%B')
114
115        data1f = self.getNomeMesPtbr(data1b)
116        data2f = self.getNomeMesPtbr(data2b)
117        data3f = self.getNomeMesPtbr(data3b)
118
119        datas = {'01': {'mes': data1f,
120                       'events': self.getEvents(data1_ini, data1_fim)},
121
122                 '02': {'mes': data2f,
123                       'events': self.getEvents(data2_ini, data2_fim)},
124
125                 '03': {'mes': data3f,
126                       'events': self.getEvents(data3_ini, data3_fim)},
127                }
128
129        return datas
130
131    def getNomeMesPtbr(self, mes_ingles):
132        meses = {'January': 'janeiro',
133                'February': 'fevereiro',
134                'March': 'março',
135                'April': 'abril',
136                'May': 'maio',
137                'June': 'junho',
138                'July': 'julho',
139                'August': 'agosto',
140                'September': 'setembro',
141                'October': 'outubro',
142                'November': 'novembro',
143                'December': 'dezembro'}
144        formata = meses[mes_ingles][0].upper() + meses[mes_ingles][1:]
145        return formata
146
147    def textMin(self, text, tamanho):
148        """Corta o texto no espaco ate um numero especifico de caracteres"""
149        try:
150            total = len(text[:tamanho].split(' '))
151            if total > 1 and len(text) > tamanho:
152                return " ".join(text[:tamanho].split(' ')[:-1]) + "..."
153            else:
154                return text
155        except:
156            pass
157
158    def getItemsPortletDocuments(self, caminho, depth=1):
159        """ Retorna as paginas do path referenciado"""
160        lista = self.catalog(path={'query': caminho, 'depth': depth},
161                             review_state="published",
162                             sort_on="getObjPositionInParent")
163        return lista
164
165    def setExibicaoListagem(self):
166        """ Seta o layout da pagina """
167        set_ = self.setLayout('')
168        return set_
169
170    def setExibicaoTexto(self):
171        """ Seta o layout da pagina"""
172        set_ = self.setLayout('document_view')
173        return set_
Note: Veja TracBrowser para ajuda no uso do navegador do trac.
 

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