diff contenttransformer/app.py @ 10:a9ddcfc7c4e8

added transformer just of content-type name
author k0s <k0scist@gmail.com>
date Sun, 07 Feb 2010 19:48:09 -0500
parents 051d4d39b4b9
children 9d51954e2e68
line wrap: on
line diff
--- a/contenttransformer/app.py	Sun Feb 07 19:03:15 2010 -0500
+++ b/contenttransformer/app.py	Sun Feb 07 19:48:09 2010 -0500
@@ -4,6 +4,7 @@
 from mimetypes import guess_type
 from paste.fileapp import FileApp
 from pkg_resources import iter_entry_points
+from transformers import ContentTypeChanger
 
 class FileTypeTransformer(object):
 
@@ -14,9 +15,11 @@
         # intended to be arguments to the xformers
         # XXX unused
         self.kwargs = kwargs
-
+        
         self.transformers = transformers()
         for pattern, transformer_name in self.types:
+            if '/' in transformer_name:
+                continue
             assert transformer_name in self.transformers
 
     def __call__(self, path): 
@@ -26,6 +29,12 @@
             if fnmatch(filename, pattern):
                 content_type, _ = guess_type(filename)
                 content = file(path).read()
+
+                # transform content type
+                # XXX hack: -> refactor
+                if '/' in transformer_name:
+                    return ContentTypeChanger(content, content_type, transformer_name)
+                    
                 return self.transformers[transformer_name](content, content_type)
         return FileApp(path)