Changeset 1036 in products


Ignore:
Timestamp:
Apr 15, 2009 5:08:17 PM (17 years ago)
Author:
koval
Message:

retrieving of tags moved from portlet renderer to adapters and added Quills support

Location:
quintagroup.portlet.cumulus/trunk
Files:
3 added
3 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.portlet.cumulus/trunk

    • Property svn:ignore set to
      *.pyc
      *~
      *.egg-info

  • quintagroup.portlet.cumulus/trunk/quintagroup/portlet/cumulus/configure.zcml

    r1035 r1036  
    55    xmlns:plone="http://namespaces.plone.org/plone" 
    66    xmlns:browser="http://namespaces.zope.org/browser" 
     7    xmlns:zcml="http://namespaces.zope.org/zcml" 
    78    i18n_domain="quintagroup.portlet.cumulus"> 
    89 
     
    4243        /> 
    4344 
     45    <!-- Register tags retriever adapters --> 
     46    <adapter 
     47        for="Products.Archetypes.interfaces.IBaseObject" 
     48        provides=".interfaces.ITagsRetriever" 
     49        factory=".catalog.GlobalTags" 
     50        /> 
     51 
     52    <adapter 
     53        for="Products.CMFPlone.interfaces.IPloneSiteRoot" 
     54        provides=".interfaces.ITagsRetriever" 
     55        factory=".catalog.GlobalTags" 
     56        /> 
     57 
     58    <configure zcml:condition="installed quills.core"> 
     59        <!-- tags retrievers for Quills blog --> 
     60        <adapter 
     61            for="quills.core.interfaces.IBaseContent" 
     62            provides=".interfaces.ITagsRetriever" 
     63            factory=".blog.QuillsBlogTags" 
     64            /> 
     65 
     66        <adapter 
     67            for="quills.core.interfaces.IWeblogEnhanced" 
     68            provides=".interfaces.ITagsRetriever" 
     69            factory=".blog.QuillsBlogTags" 
     70            /> 
     71 
     72        <adapter 
     73            for="quills.core.interfaces.IPossibleWeblogEntry" 
     74            provides=".interfaces.ITagsRetriever" 
     75            factory=".blog.QuillsBlogTags" 
     76            /> 
     77 
     78    </configure> 
     79 
    4480</configure> 
  • quintagroup.portlet.cumulus/trunk/quintagroup/portlet/cumulus/cumulusportlet.py

    r1035 r1036  
    33from zope.interface import implements 
    44from zope.component import getMultiAdapter 
     5from zope.component import getAdapter 
    56 
    67from plone.portlets.interfaces import IPortletDataProvider 
     
    1213 
    1314from quintagroup.portlet.cumulus import CumulusPortletMessageFactory as _ 
    14  
     15from quintagroup.portlet.cumulus.interfaces import ITagsRetriever 
    1516 
    1617class ICumulusPortlet(IPortletDataProvider): 
     
    180181        return urllib.quote(tags) 
    181182 
    182     def getTags(self, settings=None): 
    183         plone_tools = getMultiAdapter((self.context, self.request), name=u'plone_tools') 
    184         cat = plone_tools.catalog() 
    185         index = cat._catalog.getIndex('Subject') 
    186         tags = [] 
    187         number_of_entries = [] 
    188         for name in index._index.keys(): 
    189             tags.append(name) 
    190             try: 
    191                 number_of_entries.append(len(index._index[name])) 
    192             except TypeError: 
    193                 number_of_entries.append(1) 
     183    def getTags(self): 
     184        tags = ITagsRetriever(self.context).getTags() 
     185        if tags == []: 
     186            return [] 
     187 
     188        number_of_entries = [i[1] for i in tags] 
     189 
    194190        min_number = min(number_of_entries) 
    195191        max_number = max(number_of_entries) 
     
    198194 
    199195        result = [] 
    200         for name, number in zip(tags, number_of_entries): 
     196        for name, number, url in tags: 
    201197            size = self.data.smallest + step * (number - min_number) 
    202198            result.append({ 
     
    204200                'size': size, 
    205201                'number_of_entries': number, 
    206                 'url': '#' 
     202                'url': url 
    207203            }) 
    208204        return result 
Note: See TracChangeset for help on using the changeset viewer.