Changeset 3139

Show
Ignore:
Timestamp:
01/23/08 11:34:06 (10 months ago)
Author:
coderanger
Message:

Moving to another server.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • gitwebplugin/0.11/gitweb/templates/gitweb.html

    r2722 r3139  
    1515      </head> 
    1616      <body> 
    17         ${gitweb_page} 
     17        <div id="content" class="gitweb"> 
     18          ${gitweb_page} 
     19        </div> 
    1820      </body> 
    1921</html> 
  • gitwebplugin/0.11/gitweb/web_ui.py

    r2722 r3139  
    1212from trac.perm import IPermissionRequestor 
    1313from trac.mimeview.api import MIME_MAP as BASE_MIME_MAP 
     14from trac.prefs.api import IPreferencePanelProvider 
    1415from trac.config import Option, BoolOption 
    1516from trac.util.text import to_unicode 
     17from trac.util.translation import _ 
    1618 
    1719from genshi.builder import tag 
     
    2729    """A plugin to embed gitweb into Trac.""" 
    2830     
    29     implements(IRequestHandler, INavigationContributor, IPermissionRequestor, ITemplateProvider
     31    implements(IRequestHandler, INavigationContributor, IPermissionRequestor, ITemplateProvider, IPreferencePanelProvider
    3032     
    3133    gitweb_url = Option('gitweb', 'url', doc='URL to gitweb') 
     
    3537    patterns = [ 
    3638        # (regex, replacement)  
    37         (r'^.*?<div class', '<div class'), 
    38         (r'<\/body.*', ''), 
    39         (r'git\?{1,}a=git-logo.png', 'www/images/git.png'), 
    40         (r'[\'\"]\/git\?{0,}([^\'\"]*)', '"?\\1'), 
    41         (r'git\.do\?(\S+)?\;a\=rss', 'git?\\1;a=rss'), 
     39        (r'^.*?<div class', '<div class', False), 
     40        (r'<\/body.*', '', False), 
     41        (r'git\?{1,}a=git-logo.png', 'www/images/git.png', False), 
     42        (r'[\'\"]\/git\?{0,}([^\'\"]*)', '"?\\1', False), 
     43        (r'git\.do\?(\S+)?\;a\=rss', 'git?\\1;a=rss', False), 
     44        (r'<img src="git-logo.png" width="72" height="27" alt="git" class="logo"/>',  
     45         lambda req: '<img src="%s" width="72" height="27" alt="git" class="git-logo"/>' % \ 
     46                     req.href.chrome('gitweb', 'git-logo.png'), True), 
     47        (r'<link rel="stylesheet" type="text/css" href="/pub/gitweb.css"/>', 
     48         lambda req: '<link rel="stylesheet" type="text/css" href="%s"/>\n<link rel="stylesheet" type="text/css" href="%s"/>' % \ 
     49                (req.href.chrome('gitweb', 'gitweb-full.css'), req.href.chrome('gitweb', 'gitweb-trac.css')), True), 
    4250    ] 
    43     patterns = [(re.compile(pat, re.S|re.I|re.U), rep) for pat, rep in patterns] 
     51    patterns = [(re.compile(pat, re.S|re.I|re.U), rep, chrome) for pat, rep, chrome in patterns] 
    4452     
    4553    # IRequestHandler methods 
     
    6977             
    7078        # Check for RSS 
    71         if args.get('a') == 'rss'
     79        if args.get('a') in ('rss', 'opml', 'project_index', 'atom')
    7280            req.send(page, urlf.info().type) 
    7381         
    7482        # Proceed with normal page serving 
     83        chrome_enabled = req.session.get('gitweb_chrome_enabled', '0') == '1' 
    7584        page = to_unicode(page) 
    76         for pat, rep in self.patterns: 
    77             page = pat.sub(rep, page) 
     85        for pat, rep, chrome in self.patterns: 
     86            if chrome_enabled or chrome: 
     87                if callable(rep): 
     88                    rep = rep(req) 
     89                page = pat.sub(rep, page) 
    7890             
     91        # If chrome wrapping is disabled, send back the page 
     92        if not chrome_enabled: 
     93            req.send(page, urlf.info().type) 
     94 
    7995        data = { 
    8096            'gitweb_page': Markup(page), 
     
    8298        #add_link(req, 'stylesheet', 'http://dev.laptop.org/www/styles/gitbrowse.css', 'text/css') 
    8399        add_stylesheet(req, 'gitweb/gitweb.css') 
     100        add_stylesheet(req, 'gitweb/gitweb-trac.css') 
    84101        return 'gitweb.html', data, urlf.info().type 
    85102 
     
    87104    def get_navigation_items(self, req): 
    88105        if 'BROWSER_VIEW' in req.perm: 
    89             yield 'mainnav', 'gitweb', tag.a('Browse Source',  
     106            yield 'mainnav', 'gitweb', tag.a(_('Browse Source'), 
    90107                                             href=req.href.browser()) 
    91108                                              
     
    106123        return [resource_filename(__name__, 'templates')] 
    107124 
     125    # IPreferencePanelProvider methods 
     126    def get_preference_panels(self, req): 
     127        yield 'gitweb', _('Gitweb') 
    108128 
     129    def render_preference_panel(self, req, panel): 
     130        if req.method == 'POST': 
     131            chrome_enabled = 'chrome_enabled' in req.args 
     132            req.session['gitweb_chrome_enabled'] = chrome_enabled and '1' or '0' 
     133            req.redirect(req.href.prefs('gitweb')) 
     134 
     135        data = { 
     136            'chrome_enabled': req.session.get('gitweb_chrome_enabled', '0') 
     137        } 
     138        return 'prefs_gitweb.html', data 
  • gitwebplugin/0.11/setup.py

    r2722 r3139  
    2020    ], 
    2121     
    22     install_requires = [], 
     22    install_requires = ['Trac'], 
    2323 
    2424    entry_points = {