comparison contenttransformer/app.py @ 14:7dae51af8db6

ugly f-ing hack
author Jeff Hammel <jhammel@mozilla.com>
date Wed, 30 Jun 2010 22:32:33 -0700
parents 9d51954e2e68
children 32a05d7bb214
comparison
equal deleted inserted replaced
13:9d51954e2e68 14:7dae51af8db6
17 17
18 self.transformers = transformers() 18 self.transformers = transformers()
19 for pattern, transformer_name in self.types: 19 for pattern, transformer_name in self.types:
20 if '/' in transformer_name: 20 if '/' in transformer_name:
21 continue 21 continue
22 assert transformer_name in self.transformers 22 assert transformer_name in self.transformers, '%s not in transformers' % transformer_name
23 23
24 def __call__(self, path): 24 def __call__(self, path):
25 """this should return something that is callable with (environ, start_response) to return a response; the transformer thing""" 25 """this should return something that is callable with (environ, start_response) to return a response; the transformer thing"""
26 filename = os.path.basename(path) 26 filename = os.path.basename(path)
27 for pattern, transformer_name in self.types: 27 for pattern, transformer_name in self.types:
31 31
32 # transform content type 32 # transform content type
33 # XXX hack: -> refactor 33 # XXX hack: -> refactor
34 if '/' in transformer_name: 34 if '/' in transformer_name:
35 return ContentTypeChanger(content, content_type, transformer_name) 35 return ContentTypeChanger(content, content_type, transformer_name)
36 36 return self.transformers[transformer_name](content, content_type, **self.kwargs.get(transformer_name.lower(), {})) # XXX hack around ini being retarded
37 return self.transformers[transformer_name](content, content_type, **self.kwargs.get(transformer_name, {}))
38 return FileApp(path) 37 return FileApp(path)
39 38
40 39
41 def transformers(): 40 def transformers():
42 transformers = {} # XXX could cache 41 transformers = {} # XXX could cache