Changeset 2366


Ignore:
Timestamp:
04/11/08 12:44:53 (12 years ago)
Author:
jukka
Message:

Added a manager method reindex_section(start=0, end=1000) to reindex catalog part by part.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/LargeSectionFolder.py

    r2361 r2366  
    5555    featured_types=MATERIAL_TYPES 
    5656    top3_categories={'top3_tags':'getTags', 'top3_languages':'Language'} 
     57 
     58 
     59 
     60    security.declareProtected(MANAGE_PORTAL, 'reindex_section') 
     61    def reindex_section(self, start=0, end=0): 
     62        """ Do catalog update for every object in section """ 
     63        f=0 
     64        ids_list=self.objectIds()  
     65        start=int(start) 
     66        end=int(end)        
     67        response=[] 
     68        if start or end:  
     69            if start>len(ids_list): 
     70                start=len(ids_list)-1 
     71            if end>len(ids_list): 
     72                end=len(ids_list)-1 
     73            ids_list=ids_list[start:end] 
     74        for oid in ids_list:            
     75            o=getattr(self, oid, None) # I hope that this way memory use won't grow as much as it would with objectValues() 
     76            if o and hasattr(o, 'reindexObject'): 
     77                try: 
     78                    o.reindexObject() 
     79                except: 
     80                    response.append('!!!!! Reindex problem with %s' % o.id)  
     81                response.append('%s ** reindexed %s' % (str(start), o.id)) 
     82            f=f+1 
     83            start=start+1 
     84        response= ['Catalog reindex done for %s objects.' % str(f)]+response 
     85        return '\n'.join(response)   
     86 
    5787 
    5888 
  • trunk/Piece.py

    r2351 r2366  
    352352        return self.id.replace('.', '').replace('-', '') 
    353353 
     354    def getDiscussion(self, do_create=True): 
     355        """ Pieces don't have discussions """ 
     356        return None 
    354357        
    355358registerType(Piece, PROJECTNAME) 
Note: See TracChangeset for help on using the changeset viewer.