コード例 #1
0
ファイル: library.py プロジェクト: vindula/vindula.tile
    def getTypologies(self, theme):
        p_catalog = getToolByName(self.context, 'portal_catalog')
        typologies = {}
        if theme:
            value = theme.value
            
            brains = p_catalog(ThemeNews=value)
            for brain in brains:
                if not brain.tipo or brain.portal_type == 'Image':
                    if brain.portal_type == 'Image':
                        if typologies.get(brain.tipo):
                            typologies[brain.tipo].append(brain.getObject())
                        else:
                            typologies[brain.tipo] = [brain.getObject()]
                    continue
                
                if typologies.get(brain.tipo):
                    typologies[brain.tipo].append(brain.getObject())
                else:
                    typologies[brain.tipo] = [brain.getObject()]
        od = OrderedDict(sorted(typologies.items(), key=lambda t: t[0]))
        typologies = od.items()

        typologies = OrderedDict(typologies)
        
        for typology in typologies.keys():
            data = TagContent().store.find(TagContent, 
                                              TagContent.type==u'typology',
                                              TagContent.value==typology.decode('utf-8'),
                                              TagContent.deleted==False)
            if data.count():
                data = data[0]

                if data.sort_on == 'sortable_title':
                    typologies[typology] = sorted(typologies.get(typology), key=lambda x: x.title.lower())
                elif data.sort_on == 'created':
                    typologies[typology] = sorted(typologies.get(typology), key=lambda x: x.created())
                    
                if data.order ==  'desc':
                    typologies.get(typology).reverse()
                
            else:
                continue
        
        return typologies
コード例 #2
0
ファイル: library.py プロジェクト: vindula/vindula.tile
    def getThemes(self):
        rs_themes = TagContent.getAllTagsByType('themesNews')

        themes = []
        
        if rs_themes and rs_themes.count():
            if self.context.getQtdThemesGlobal() and self.context.getQtdThemesGlobal() > 0:
                rs_themes = rs_themes[:self.context.getQtdThemesGlobal()]

            for theme in  rs_themes:
                themes.append(theme)
                
        return themes
コード例 #3
0
ファイル: library.py プロジェクト: vindula/vindula.tile
 def update(self):
     if self.request.form.get('theme'):
         self.theme = TagContent.getTagById(self.request.form.get('theme'))