Changeset 843

Show
Ignore:
Timestamp:
04/13/07 11:46:36
Author:
mylan
Message:

Speed up getAvailableCategory function in SimpleBlog? tool.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • SimpleBlog/branches/optimizations/Extensions/migration.py

    r840 r843  
    4444    """ Migration all portal's blogs to BTreeFoolder base. """ 
    4545    global processed 
     46     
     47    res = "" 
    4648    catalog = getToolByName(self, 'portal_catalog') 
     49     
     50    # add 'EntryCategory' to portal_catalog Metadata. 
     51    # Update cataloged object perform on 2nd migration step 
     52    catalog.addColumn('EntryCategory') 
     53 
     54    # migrate old-fashion blog to btree-based 
    4755    blogs = [b.getObject() for b in catalog(portal_type="Blog")] 
    4856    for blog in blogs: 
    4957        processed = migrate2Btree(blog) 
     58    res += 'processed: %d blogs with %d objects.' % (len(blogs),len(processed)) 
     59     
    5060    return 'processed: %d blogs with %d objects.' % (len(blogs),len(processed)) 
  • SimpleBlog/branches/optimizations/SimpleBlogTool.py

    r842 r843  
    169169        # next step is to count the number of entries for each category 
    170170        rescats={} 
    171         for c in categories: 
    172             result = startpoint.portal_catalog.searchResults(review_state=self._getState(), meta_type='BlogEntry', EntryCategory=c,  path={'query':self.getObjectPath(startpoint),'level':0}) 
    173             num = len(result) 
    174             if num >0: 
    175                 rescats[c]=len(result) 
     171        [rescats.update({c:0}) for c in categories] 
     172        result = startpoint.portal_catalog.searchResults(review_state=self._getState(), meta_type='BlogEntry', path={'query':path,'level':0}) 
     173 
     174        for r in result: 
     175            for c in r.EntryCategory: rescats[c] = rescats[c]+1 
     176        for c,n in rescats.items(): 
     177            if n==0: del rescats[c] 
    176178        return rescats 
    177179 
  • SimpleBlog/branches/optimizations/content/blogentry.py

    r841 r843  
    7878                    accessor='EntryCategory',  
    7979                    edit_accessor='EntryCategory',  
    80                     index='KeywordIndex',  
     80                    index='KeywordIndex:schema',  
    8181                    vocabulary='listCategories', 
    8282                    widget=MultiSelectionWidget(format='select',