Changeset 3090 for trunk


Ignore:
Timestamp:
11/03/10 15:10:00 (9 years ago)
Author:
jukka
Message:

Few more fixes

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/FieldsWidgets.py

    r3086 r3090  
    362362            return changes,empty 
    363363        chapter_type=changes['chapter_type'] 
    364         if chapter_type=='pilot_section': 
     364        if chapter_type=='pilot_scene': 
    365365            audio_file=form.get('audio_file', None) 
    366366            if audio_file and hasattr(audio_file, 'filename'): 
     
    389389        # Buttons  
    390390        if form.get('add_pilot_section', None): 
    391             changes['new_chapters']={'text':'','type':'pilot_section','audio_uid':'', 'image_uid':'', 'keywords':[], 'questions':[]}, 
     391            changes['new_chapters']={'text':'','type':'pilot_scene','audio_uid':'', 'image_uid':'', 'keywords':[], 'questions':[]}, 
    392392            form.update({'chapter_edited':count, 'chapter_anchor':count, 'stay':1}) 
    393393        return changes, {} 
     
    809809                    convert=True 
    810810                    break 
    811                 elif isinstance(chapter, dict) and chapter['type']=='choice' and isinstance(chapter['text'], list): 
     811                elif isinstance(chapter, dict) and 'type' in chapter and chapter['type']=='choice' and isinstance(chapter['text'], list): 
    812812                    fix_choice=True 
    813813                    break 
     
    869869        for cvalue, ctype in old_values: 
    870870            if new_scene: 
    871                 scene={'text':'', 'image_uid':'', 'audio_uid':'', 'keywords':[], 'questions':[]} 
     871                scene={'text':'', 'image_uid':'', 'audio_uid':'', 'keywords':[], 'questions':[], 'type':'pilot_scene'} 
    872872                new_scene=False 
    873873            if ctype=='audio_piece': 
     
    913913                    choices+=[(w, 0) for w in wrong] 
    914914                    shuffle(choices) 
    915                 elif ctype=='choices': 
     915                elif ctype=='choices' or ctype=='choice': 
     916                    if correct and isinstance(correct, list): 
     917                        correct=correct[0] 
    916918                    choices=[(correct,1)] 
    917919                    choices+=[(w, 0) for w in wrong] 
  • trunk/MaintenanceTool.py

    r3086 r3090  
    254254        return '\n'.join(s) 
    255255             
     256 
     257 
     258    security.declareProtected(MANAGE_PORTAL, 'reindexMissingTitles') 
     259    def reindexMissingTitles(self, start=0, end=90000, type_id=0, field=None): 
     260        """ Do reindexing within limits, commit after every 500 """ 
     261        portal_types=list(SEARCHABLE_TYPES) 
     262        if type_id.isdigit(): 
     263            portal_type=portal_types[min((int(type_id), len(portal_types)-1))] 
     264        else: 
     265            portal_type=type_id 
     266        s=['Doing reindexing for resource type %s' % portal_type ] 
     267        pc=getToolByName(self, 'portal_catalog') 
     268        full_md=pc(portal_type=portal_type) 
     269        s.append('Found %s objects' % len(full_md)) 
     270        start=min((int(start), len(full_md)-1)) 
     271        end=min((int(end), len(full_md)-1))        
     272        response=[] 
     273        total=start 
     274        failed=0 
     275        for oid in full_md[start:end]:            
     276            s.append(oid.getId) 
     277            if not oid.getNicename: 
     278                o=self.safeGetObject(oid) 
     279                if not o: 
     280                    s.append('removing broken catalog object') 
     281                    try: 
     282                        pc.uncatalog_object(oid.getPath()) 
     283                    except KeyError: 
     284                        pc.uncatalog_object(oid.data_record_id_) 
     285                    failed+=1 
     286                    continue 
     287                try:      
     288                    if field: 
     289                        o.reindexObject([field]) 
     290                    else: 
     291                        o.reindexObject() 
     292                    s.append('Reindexed empty getNicename') 
     293                except: 
     294                    s.append('Failed reindexing %s at %s' % (oid.getId, oid.getURL())) 
     295                    failed+=1 
     296            total+=1 
     297            if total%500==0: 
     298                s.append("%s *** COMMIT ***" % total) 
     299                transaction.get().commit() 
     300        s.append('Done. %s resources updated' % total) 
     301        return '\n'.join(s)   
     302 
    256303 
    257304    # type_ids 
  • trunk/skins/lemill/livesearch_reply.py

    r3082 r3090  
    1818 
    1919def make_link(result): 
    20     full_title=unicode(result[0] or u'', 'utf-8', 'ignore') 
     20    full_title=unicode(result[0] or '', 'utf-8', 'ignore') 
    2121    if len(full_title) >= MAX_TITLE: 
    2222        dots='...' 
Note: See TracChangeset for help on using the changeset viewer.