diff contenttransformer/transformers.py @ 9:051d4d39b4b9

* separate out get_response to its own function * keep track of raw content_type for later usage (muahaha)
author k0s <k0scist@gmail.com>
date Sun, 07 Feb 2010 19:03:15 -0500
parents 68643e72c749
children a9ddcfc7c4e8
line wrap: on
line diff
--- a/contenttransformer/transformers.py	Sun Feb 07 18:52:40 2010 -0500
+++ b/contenttransformer/transformers.py	Sun Feb 07 19:03:15 2010 -0500
@@ -4,8 +4,9 @@
 
 class Transformer(object):
     """abstract base class for transformer objects"""
-    def __init__(self, content):
+    def __init__(self, content, content_type):
         self.content = content
+        self.content_type = content_type
 
     def transform(self, request):
         """returns a tuple of (body, content-type)"""
@@ -13,8 +14,15 @@
 
     def __call__(self, environ, start_response):
         request = Request(environ)
+        response = self.get_response(request)
+        return response(environ, start_response)
+
+    def get_response(self, request):
+        if request.GET.get('format') == 'raw':
+            return Response(content_type=self.content_type, body=self.content)
         content_type, body = self.transform(request)
-        return Response(content_type=content_type, body=body)(environ, start_response)
+        return Response(content_type=content_type, body=body)
+        
 
 class Graphviz(Transformer):
     def transform(self, request):