Fixed Copyright Headers
[mediagoblin.git] / mediagoblin / tools / common.py
index 0b29087c6b59659b8f79a2675314ea5c185e92ee..34586611cd38a9c8c5172741af76080651022f57 100644 (file)
@@ -16,7 +16,6 @@
 
 import sys
 
-DISPLAY_IMAGE_FETCHING_ORDER = [u'medium', u'original', u'thumb']
 
 global TESTS_ENABLED
 TESTS_ENABLED = False
@@ -36,3 +35,39 @@ def import_component(import_string):
     module = sys.modules[module_name]
     func = getattr(module, func_name)
     return func
+
+
+def simple_printer(string):
+    """
+    Prints a string, but without an auto \n at the end.
+
+    Useful for places where we want to dependency inject for printing.
+    """
+    sys.stdout.write(string)
+    sys.stdout.flush()
+
+
+class CollectingPrinter(object):
+    """
+    Another printer object, this one useful for capturing output for
+    examination during testing or otherwise.
+
+    Use this like:
+
+      >>> printer = CollectingPrinter()
+      >>> printer("herp derp\n")
+      >>> printer("lollerskates\n")
+      >>> printer.combined_string
+      "herp derp\nlollerskates\n"
+    """
+    def __init__(self):
+        self.collection = []
+    
+    def __call__(self, string):
+        self.collection.append(string)
+
+    @property
+    def combined_string(self):
+        return u''.join(self.collection)
+
+