source: robotstxtplugin/0.10/robotstxt/web_ui.py

Last change on this file was 1485, checked in by Noah Kantrowitz, 17 years ago

RobotsTxtPlugin:

Initial add.

File size: 1.0 KB
Line 
1from trac.core import *
2from trac.web.chrome import ITemplateProvider
3from trac.web.api import IRequestHandler
4from trac.wiki.model import WikiPage
5
6__all__ = ['RobotsTxtModule']
7
8class RobotsTxtModule(Component):
9    """Serve a robots.txt file from Trac."""
10   
11    implements(ITemplateProvider, IRequestHandler)
12   
13    # IRequestHandler methods
14    def match_request(self, req):
15        return req.path_info == '/robots.txt'
16       
17    def process_request(self, req):
18        page = WikiPage(self.env, 'RobotsTxt')
19        data = ''
20        if page.exists:
21            data = page.text
22        req.hdf['robotstxt.data'] = data
23        return 'robotstxt.cs', 'text/plain'
24       
25   
26    # ITemplateProvider methods
27    def get_templates_dirs(self):
28        from pkg_resources import resource_filename
29        return [resource_filename(__name__, 'templates')]
30       
31    def get_htdocs_dirs(self):
32        from pkg_resources import resource_filename
33        #return [('robotstxt', resource_filename(__name__, 'htdocs'))]
34        return []
Note: See TracBrowser for help on using the repository browser.