|
- #!/usr/bin/python
- # -*- coding: utf-8; tab-width: 4; indent-tabs-mode: nil; -*-
-
- from singleton import Singleton
- from template import render
- from functools import partial
-
-
- class WSGITemplate( object ):
- __metaclass__ = Singleton
-
- def __init__( self, basedir=None ):
- import os
- self.__basedir = os.path.normpath( os.path.join( os.path.split(__file__)[0], basedir ) ) + '/'
-
-
- def template(self, filename=None ):
- def real_decorator( wsgi_application ):
- def wrapper( environ, start_response ):
- environ[ 'template' ] = partial( render, filename= self.__basedir + filename )
- environ[ 'basedir' ] = self.__basedir
- return wsgi_application( environ, start_response )
- return wrapper
- return real_decorator
|