| Server IP : 142.11.234.102 / Your IP : 216.73.217.78 Web Server : Apache System : Linux dal-shared-66.hostwindsdns.com 4.18.0-513.24.1.lve.1.el8.x86_64 #1 SMP Thu May 9 15:10:09 UTC 2024 x86_64 User : krnuyqrm ( 1183) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/lib64/python2.7/site-packages/Cheetah/ |
Upload File : |
import os
import sys
from Cheetah.ImportHooks import CheetahDirOwner
def loadTemplateModule(templatePath, debuglevel=0):
"""Load template's module by full or relative path (extension is optional)
Examples:
template = loadTemplateModule('views/index')
template = loadTemplateClass('views/index.tmpl')
Template is loaded from from .py[co], .py or .tmpl -
whatever will be found. Files *.tmpl are compiled to *.py;
*.py are byte-compiled to *.py[co]. Compiled files are cached
in the template directory. Errors on writing are silently ignored.
"""
drive, localPath = os.path.splitdrive(templatePath)
dirname, filename = os.path.split(localPath)
filename, ext = os.path.splitext(filename)
if dirname:
# Cleanup: Convert /Templates//views/ -> /Templates/views
dirname_list = dirname.replace(os.sep, '/').split('/')
dirname_list = [d for (i, d) in enumerate(dirname_list)
if i == 0 or d] # Preserve root slash
dirname = os.sep.join(dirname_list)
template_dir = CheetahDirOwner(drive + dirname)
if ext:
template_dir.templateFileExtensions = (ext,)
template_dir.debuglevel = debuglevel
mod = template_dir.getmod(filename)
if mod is None:
raise ImportError("Cannot find {}".format(templatePath))
mod.__name__ = filename
sys.modules[filename] = mod
co = mod.__co__
del mod.__co__
exec(co, mod.__dict__)
return mod
def loadTemplateClass(templatePath, debuglevel=0):
"""Load template's class by full or relative path"""
mod = loadTemplateModule(templatePath, debuglevel=debuglevel)
return getattr(mod, mod.__name__)