added lookup module
diff --git a/lib/mako/lookup.py b/lib/mako/lookup.py
new file mode 100644
index 0000000..3e6fc5b
--- /dev/null
+++ b/lib/mako/lookup.py
@@ -0,0 +1,40 @@
+# lookup.py
+# Copyright (C) 2006 Michael Bayer mike_mp@zzzcomputing.com
+#
+# This module is part of Mako and is released under
+# the MIT License: http://www.opensource.org/licenses/mit-license.php
+
+import posixpath
+import os
+from mako import exceptions
+from mako.template import Template
+
+class AbstractTemplateLookup(object):
+    def has_template(self, uri):
+        try:
+            self.get_template(uri)
+            return True
+        except exceptions.TemplateLookupException, e:
+            return False
+    def get_template(self, uri):
+        raise NotImplementedError()
+        
+class TemplateLookup(AbstractTemplateLookup):
+    def __init__(self, directories=None, module_directory=None, filesystem_checks=True, collection_size=-1):
+        self.directories = directories or []
+        self.module_directory = module_directory
+        self.filesystem_checks = filesystem_checks
+        self.collection_size = collection_size
+        self._collection = {}
+    def get_template(self, uri):
+        try:
+            return self._collection[uri]
+        except KeyError:
+            for dir in self.directories:
+                srcfile = posixpath.join(dir, uri)
+                if os.access(srcfile, os.F_OK):
+                    self._collection[uri] = Template(file(srcfile).read(), lookup=self)
+                    return self._collection[uri]
+            else:
+                raise exceptions.TemplateLookupException("Cant locate template for uri '%s'" % uri)
+