Changeset 3780

Show
Ignore:
Timestamp:
06/03/08 17:55:24 (7 months ago)
Author:
proofek
Message:

Converting peerReviewPerform to Genshi

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • peerreviewplugin/branches/2.1-toddler/codereview/peerReviewPerform.py

    r3452 r3780  
    8989                                         
    9090    def process_request(self, req): 
     91 
     92        data = {} 
     93 
    9194        if req.perm.has_permission('CODE_REVIEW_MGR'): 
    92             req.hdf['manager'] = 1 
     95            data['manager'] = 1 
    9396        else: 
    9497            req.perm.assert_permission('CODE_REVIEW_DEV') 
    95             req.hdf['manager'] = 0 
    96  
    97         #get some link locations for the template 
    98         req.hdf['trac.href.peerReviewMain'] = self.env.href.peerReviewMain() 
    99         req.hdf['trac.href.peerReviewNew'] = self.env.href.peerReviewNew() 
    100         req.hdf['trac.href.peerReviewSearch'] = self.env.href.peerReviewSearch() 
    101         req.hdf['trac.href.peerReviewOptions'] = self.env.href.peerReviewOptions() 
     98            data['manager'] = 0 
    10299 
    103100        #for top-right navigation links 
    104         req.hdf['main'] = "no" 
    105         req.hdf['create'] = "no" 
    106         req.hdf['search'] = "no" 
    107         req.hdf['options'] = "no" 
     101        data['main'] = "no" 
     102        data['create'] = "no" 
     103        data['search'] = "no" 
     104        data['options'] = "no" 
    108105 
    109106        #get the fileID from the request arguments 
     
    111108        self.fileID = idFile 
    112109        #if the file id is not set - display an error message 
    113        if idFile == None: 
    114             req.hdf['error.type'] = "TracError" 
    115             req.hdf['error.title'] = "File ID Error" 
    116             req.hdf['error.message'] = "No file ID given - unable to load page." 
    117             return 'error.cs', None 
     110        if idFile == None: 
     111            data['error.type'] = "TracError" 
     112            data['error.title'] = "File ID Error" 
     113            data['error.message'] = "No file ID given - unable to load page." 
     114            return 'error.cs', data, None 
    118115 
    119116        #get the database 
     
    126123        #make the thumbtac image global so the line annotator has access to it 
    127124        self.imagePath = self.env.href.chrome() + '/hw/images/thumbtac11x11.gif' 
    128         #get image and link locations 
    129         req.hdf['trac.href.peerReviewCommentCallback'] = self.env.href.peerReviewCommentCallback() 
    130         req.hdf['trac.href.peerReviewView'] = self.env.href.peerReviewView() 
    131         req.hdf['trac.htdocs.thumbtac'] = self.imagePath 
    132         req.hdf['trac.htdocs.plus'] = self.env.href.chrome() + '/hw/images/plus.gif' 
    133         req.hdf['trac.htdocs.minus'] = self.env.href.chrome() + '/hw/images/minus.gif' 
    134125 
    135126        #if the file is not found in the database - display an error message 
    136127        if resultFile == None: 
    137             req.hdf['error.type'] = "TracError" 
    138             req.hdf['error.title'] = "File ID Error" 
    139             req.hdf['error.message'] = "Unable to locate given file ID in database." 
    140             return 'error.cs', None 
     128            data['error.type'] = "TracError" 
     129            data['error.title'] = "File ID Error" 
     130            data['error.message'] = "Unable to locate given file ID in database." 
     131            return 'error.cs', data, None 
    141132 
    142133        #get the respository 
    143134        repos = self.env.get_repository(req.authname) 
    144135        #get the file attributes 
    145         req.hdf['review.path'] = resultFile.Path 
    146         req.hdf['review.version'] = resultFile.Version 
    147         req.hdf['review.lineStart'] = resultFile.LineStart 
    148         req.hdf['review.lineEnd'] = resultFile.LineEnd 
    149         req.hdf['review.reviewID'] = resultFile.IDReview 
     136        data['review_path'] = resultFile.Path 
     137        data['review_version'] = resultFile.Version 
     138        data['review_lineStart'] = resultFile.LineStart 
     139        data['review_lineEnd'] = resultFile.LineEnd 
     140        data['review_reviewID'] = resultFile.IDReview 
    150141        #make these global for the line annotator 
    151142        self.lineEnd = resultFile.LineEnd 
     
    154145        #if the repository can't be found - display an error message 
    155146        if(repos == None): 
    156             req.hdf['error.type'] = "TracError" 
    157             req.hdf['error.title'] = "Subversion Repository Error" 
    158             req.hdf['error.message'] = "Unable to acquire subversion repository." 
    159             return 'error.cs', None 
     147            data['error.type'] = "TracError" 
     148            data['error.title'] = "Subversion Repository Error" 
     149            data['error.message'] = "Unable to acquire subversion repository." 
     150            return 'error.cs', data, None 
    160151 
    161152        #get the correct location - using revision number and repository path 
     
    163154        #if the node can't be found - display error message 
    164155        if(node == None): 
    165             req.hdf['error.type'] = "TracError" 
    166             req.hdf['error.title'] = "Subversion Node Error" 
    167             req.hdf['error.message'] = "Unable to locate subversion node for this file." 
    168             return 'error.cs', None 
     156            data['error.type'] = "TracError" 
     157            data['error.title'] = "Subversion Node Error" 
     158            data['error.message'] = "Unable to locate subversion node for this file." 
     159            return 'error.cs', data, None 
    169160 
    170161        # Generate HTML preview - this code take from Trac - refer to their documentation 
     
    190181        #assign the preview to a variable for clearsilver 
    191182        context = Context.from_request(req, 'source', path, node.created_rev) 
    192         req.hdf['file'] =  mimeview.preview_data(context, content, len(content), 
    193                                                  mime_type, node.created_path, 
    194                                                  None, 
    195                                                  annotations=['performCodeReview']) 
    196  
     183        preview_data = mimeview.preview_data(context, content, len(content), 
     184                                             mime_type, node.created_path, 
     185                                             None, 
     186                                             annotations=['performCodeReview']) 
     187         
     188        data['file'] = preview_data['rendered']; 
     189         
     190        add_stylesheet(req, 'common/css/browser.css') 
    197191        add_stylesheet(req, 'common/css/code.css') 
    198         add_stylesheet(req, 'common/css/browser.css')    
    199  
    200         return 'peerReviewPerform.cs', None 
     192        return 'peerReviewPerform.html', data, None 
    201193                 
    202194    # ITemplateProvider methods