Mercurial > hg > bitsyblog
comparison bitsyblog/bitsyblog.py @ 50:cf77bd13aad9
add support for headers
author | k0s <k0scist@gmail.com> |
---|---|
date | Sat, 26 Dec 2009 21:41:00 -0500 |
parents | 3fe54d84b9be |
children | c7819dbf7733 |
comparison
equal
deleted
inserted
replaced
49:4efeb3ecab7a | 50:cf77bd13aad9 |
---|---|
29 from blog import FileBlog | 29 from blog import FileBlog |
30 from cStringIO import StringIO | 30 from cStringIO import StringIO |
31 from docutils.utils import SystemMessage | 31 from docutils.utils import SystemMessage |
32 from genshi.builder import Markup | 32 from genshi.builder import Markup |
33 from genshi.template import TemplateLoader | 33 from genshi.template import TemplateLoader |
34 #from lxml import etree | |
35 from pkg_resources import resource_filename | 34 from pkg_resources import resource_filename |
36 from urlparse import urlparse | 35 from urlparse import urlparse |
37 from user import FilespaceUsers | 36 from user import FilespaceUsers |
38 from webob import Request, Response, exc | 37 from webob import Request, Response, exc |
39 | 38 |
51 defaults = { 'date_format': '%H:%M %F', | 50 defaults = { 'date_format': '%H:%M %F', |
52 'file_dir': os.path.dirname(__file__), | 51 'file_dir': os.path.dirname(__file__), |
53 'subject': '[ %(date)s ]:', | 52 'subject': '[ %(date)s ]:', |
54 'n_links': 5, # number of links for navigation | 53 'n_links': 5, # number of links for navigation |
55 'site_name': 'bitsyblog', | 54 'site_name': 'bitsyblog', |
55 'header': None, | |
56 'auto_reload': 'True', | 56 'auto_reload': 'True', |
57 'help_file': None, | 57 'help_file': None, |
58 } | 58 } |
59 | 59 |
60 | 60 |
76 | 76 |
77 # template renderer | 77 # template renderer |
78 self.loader = TemplateLoader(resource_filename(__name__, 'templates'), | 78 self.loader = TemplateLoader(resource_filename(__name__, 'templates'), |
79 auto_reload=self.auto_reload.lower()=='true') | 79 auto_reload=self.auto_reload.lower()=='true') |
80 | 80 |
81 # static file renderer | |
82 | |
83 # helpfile | 81 # helpfile |
84 if self.help_file and os.path.exists(self.help_file): | 82 if self.help_file and os.path.exists(self.help_file): |
85 help = file(self.help_file).read() | 83 help = file(self.help_file).read() |
86 self.help = docutils.core.publish_string(help, | 84 self.help = docutils.core.publish_string(help, |
87 writer_name='html', | 85 writer_name='html', |
88 settings_overrides={'report_level': 5}) | 86 settings_overrides={'report_level': 5}) |
89 | 87 |
88 # header | |
89 if self.header: | |
90 self.header = Markup(self.header) | |
91 | |
90 # for BitsyAuth | 92 # for BitsyAuth |
91 self.newuser = self.users.new | 93 self.newuser = self.users.new |
92 | 94 |
93 ### methods dealing with HTTP | 95 ### methods dealing with HTTP |
94 | 96 |
98 # genshi data dictionary | 100 # genshi data dictionary |
99 request.environ['data'] = { 'site_name': self.site_name, | 101 request.environ['data'] = { 'site_name': self.site_name, |
100 'request': request, | 102 'request': request, |
101 'link': self.link, | 103 'link': self.link, |
102 'logo': self.logo(request), | 104 'logo': self.logo(request), |
105 'header': self.header, | |
103 'user_url': self.user_url, | 106 'user_url': self.user_url, |
104 'permalink': self.permalink } | 107 'permalink': self.permalink } |
105 | 108 |
106 res = self.response_functions.get(request.method, self.error())(request) | 109 res = self.response_functions.get(request.method, self.error())(request) |
107 return res(environ, start_response) | 110 return res(environ, start_response) |