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

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

Atualiza nomes de interfaces e classes (pep8)

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