Mercurial > hg > decoupage
comparison decoupage/web.py @ 61:f5ca54558292
remove previous hacks
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Thu, 25 Nov 2010 12:06:40 -0800 |
parents | 07cf168aa98c |
children | 9c570aed2246 |
comparison
equal
deleted
inserted
replaced
60:cf18ea0313f9 | 61:f5ca54558292 |
---|---|
18 from pkg_resources import iter_entry_points | 18 from pkg_resources import iter_entry_points |
19 from pkg_resources import load_entry_point | 19 from pkg_resources import load_entry_point |
20 from pkg_resources import resource_filename | 20 from pkg_resources import resource_filename |
21 from webob import Request, Response, exc | 21 from webob import Request, Response, exc |
22 | 22 |
23 transformers = [i.lower() for i in transformers()] | 23 transformers = transformers() |
24 | 24 |
25 class Decoupage(object): | 25 class Decoupage(object): |
26 | 26 |
27 ### class level variables | 27 ### class level variables |
28 defaults = { 'auto_reload': 'False', | 28 defaults = { 'auto_reload': 'False', |
49 | 49 |
50 for directory in self.template_directories: | 50 for directory in self.template_directories: |
51 assert os.path.isdir(directory), "Decoupage template directory %s does not exist!" % directory | 51 assert os.path.isdir(directory), "Decoupage template directory %s does not exist!" % directory |
52 | 52 |
53 # static file server | 53 # static file server |
54 self.fileserver = FileApp # XXX still used?!? | 54 self.fileserver = FileApp |
55 | 55 |
56 # pluggable formats | 56 # pluggable formats |
57 s = 'decoupage.format.' | 57 s = 'decoupage.format.' |
58 _format_args = [ (i.split(s, 1)[-1], j) for i, j in app_conf.items() | 58 _format_args = [ (i.split(s, 1)[-1], j) for i, j in app_conf.items() |
59 if i.startswith(s) ] | 59 if i.startswith(s) ] |
113 if '/transformer' in conf: | 113 if '/transformer' in conf: |
114 args = [i.split('=', 1) for i in conf['/transformer'].split(',') if '=' in i] | 114 args = [i.split('=', 1) for i in conf['/transformer'].split(',') if '=' in i] |
115 kwargs = {} | 115 kwargs = {} |
116 for i in conf: | 116 for i in conf: |
117 if i.startswith('/'): | 117 if i.startswith('/'): |
118 name = i[1:].lower() | 118 name = i[1:] |
119 if name in transformers: | 119 if name in transformers: |
120 kwargs[name] = dict([j.split('=', 1) for j in conf[i].split(',') if '=' in j]) | 120 kwargs[name] = dict([j.split('=', 1) for j in conf[i].split(',') if '=' in j]) |
121 fileserver = FileTypeTransformer(*args, **kwargs) | 121 fileserver = FileTypeTransformer(*args, **kwargs) |
122 else: | 122 else: |
123 fileserver = FileApp | 123 fileserver = self.fileserver |
124 | 124 |
125 fileserver = fileserver(path) | 125 fileserver = fileserver(path) |
126 return fileserver(environ, start_response) | 126 return fileserver(environ, start_response) |
127 else: | 127 else: |
128 raise exc.HTTPNotFound() | 128 raise exc.HTTPNotFound() |
247 files.append({'path': i, | 247 files.append({'path': i, |
248 'name': i, | 248 'name': i, |
249 'type': link}) | 249 'type': link}) |
250 | 250 |
251 for f in files: | 251 for f in files: |
252 f['description'] = conf.get(f['name'].lower(), None) | 252 f['description'] = conf.get(f['name'], None) |
253 | 253 |
254 return files | 254 return files |
255 | 255 |
256 def conf(self, path, cascade=None): | 256 def conf(self, path, cascade=None): |
257 """returns configuration dictionary appropriate to a path""" | 257 """returns configuration dictionary appropriate to a path""" |