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"""