Mercurial > hg > TagInTheMiddle
comparison taginthemiddle/middleware.py @ 2:1182315b18ac
add rudimentary code for handlers
| author | Jeff Hammel <jhammel@mozilla.com> |
|---|---|
| date | Tue, 04 May 2010 19:15:21 -0700 |
| parents | 837cfc05d4d9 |
| children | 8fb20b780341 |
comparison
equal
deleted
inserted
replaced
| 1:837cfc05d4d9 | 2:1182315b18ac |
|---|---|
| 3 data persisting across requests should go here | 3 data persisting across requests should go here |
| 4 """ | 4 """ |
| 5 | 5 |
| 6 import os | 6 import os |
| 7 | 7 |
| 8 from handlers import Index | 8 from handlers import TagCloud, ViewTags, PostTags |
| 9 from model import Tags | 9 from model import Tags |
| 10 | 10 |
| 11 from genshi.template import TemplateLoader | 11 from genshi.template import TemplateLoader |
| 12 from lxmlmiddleware import LXMLMiddleware | 12 from lxmlmiddleware import LXMLMiddleware |
| 13 from paste.fileapp import FileApp | 13 from paste.fileapp import FileApp |
| 19 # instance defaults | 19 # instance defaults |
| 20 defaults = { 'auto_reload': 'False', | 20 defaults = { 'auto_reload': 'False', |
| 21 'template_dirs': '', | 21 'template_dirs': '', |
| 22 'patterns': '*' | 22 'patterns': '*' |
| 23 'tags_file': None, | 23 'tags_file': None, |
| 24 'url': 'tags' | 24 'tags_url': 'tags', |
| 25 'post_url': '.tags' | 25 'post_url': '.tags', |
| 26 'author': None, # for RSS | |
| 26 } | 27 } |
| 27 | 28 |
| 28 def __init__(self, app, **kw): | 29 def __init__(self, app, **kw): |
| 29 self.app = app | 30 self.app = app |
| 30 | 31 |
| 31 # set instance parameters from kw and defaults | 32 # set instance parameters from kw and defaults |
| 32 for key in self.defaults: | 33 for key in self.defaults: |
| 33 setattr(self, key, kw.get(key, self.defaults[key])) | 34 setattr(self, key, kw.get(key, self.defaults[key])) |
| 34 self.auto_reload = self.auto_reload.lower() == 'true' | 35 self.auto_reload = self.auto_reload.lower() == 'true' |
| 35 assert self.tags_file is not None | 36 assert self.tags_file is not None |
| 36 self.tags | 37 self.tags = Tags(self.tags_file) |
| 37 self.patterns = self.patterns.strip().split() | 38 self.patterns = self.patterns.strip().split() |
| 38 | 39 |
| 39 # request handlers | 40 # request handlers |
| 40 self.handlers = [ Cloud ] | 41 self.handlers = [ TagCloud, ViewTags, PostTags ] |
| 41 | 42 |
| 42 # template loader | 43 # template loader |
| 43 self.template_dirs = self.template_dirs.split() | 44 self.template_dirs = self.template_dirs.split() |
| 44 self.template_dirs.append(resource_filename(__name__, 'templates')) | 45 self.template_dirs.append(resource_filename(__name__, 'templates')) |
| 45 self.loader = TemplateLoader(self.template_dirs, | 46 self.loader = TemplateLoader(self.template_dirs, |
