allow dynamical import in template, thanks Fran

This commit is contained in:
mdipierro
2012-06-17 23:16:15 -05:00
parent f4bb6371d1
commit 6bbf672389
2 changed files with 12 additions and 3 deletions
+1 -1
View File
@@ -1 +1 @@
Version 2.00.0 (2012-06-17 23:12:45) dev
Version 2.00.0 (2012-06-17 23:16:11) dev
+11 -2
View File
@@ -20,8 +20,12 @@ import cgi
import cStringIO
import logging
try:
# have web2py
from restricted import RestrictedError
except:
from globals import current
except ImportError:
# do not have web2py
current = None
def RestrictedError(a,b,c):
logging.error(str(a)+':'+str(b)+':'+str(c))
return RuntimeError
@@ -430,9 +434,14 @@ class TemplateParser(object):
if not filename.strip():
self._raise_error('Invalid template filename')
# Allow Views to include other views dynamically
context = self.context
if current and not "response" in context:
context["response"] = current.response
# Get the filename; filename looks like ``"template.html"``.
# We need to eval to remove the quotes and get the string type.
filename = eval(filename, self.context)
filename = eval(filename, context)
# Get the path of the file on the system.
filepath = self.path and os.path.join(self.path, filename) or filename