# HG changeset patch # User k0s # Date 1263775652 18000 # Node ID 5258325a496a1b10a72c5ec5f7e87c14cde5bc0c # Parent 1a267297f77909fd4a452321364d92f39790acea move transformers getting method to a standalone function diff -r 1a267297f779 -r 5258325a496a contenttransformer/app.py --- a/contenttransformer/app.py Thu Jan 14 00:16:34 2010 -0500 +++ b/contenttransformer/app.py Sun Jan 17 19:47:32 2010 -0500 @@ -5,7 +5,6 @@ from pkg_resources import iter_entry_points class FileTypeTransformer(object): - transformers = {} def __init__(self, *types, **kwargs): """types is a list of two-tuples: glob pattern (string), transformer name (string, name of entry point)""" @@ -14,16 +13,12 @@ # intended to be arguments to the xformers # XXX unused self.kwargs = kwargs - - for entry_point in iter_entry_points('content_transformers'): - try: - self.transformers[entry_point.name] = entry_point.load() - except: - raise # XXX + + self.transformers = transformers() for pattern, transformer_name in self.types: assert transformer_name in self.transformers - def __call__(self, path): + def __call__(self, path): """this should return something that is callable with (environ, start_response) to return a response; the transformer thing""" filename = os.path.basename(path) for pattern, transformer_name in self.types: @@ -31,3 +26,14 @@ content = file(path).read() return self.transformers[transformer_name](content) return FileApp(path) + + +def transformers(): + transformers = {} # XXX could cache + for entry_point in iter_entry_points('content_transformers'): + try: + transformers[entry_point.name] = entry_point.load() + except: + raise # XXX + return transformers + diff -r 1a267297f779 -r 5258325a496a setup.py --- a/setup.py Thu Jan 14 00:16:34 2010 -0500 +++ b/setup.py Sun Jan 17 19:47:32 2010 -0500 @@ -1,7 +1,7 @@ from setuptools import setup, find_packages import sys, os -version = "0.1" +version = "0.1.1" setup(name='contentransformer', version=version,