示例#1
0
 def find_location(self, root, path, prefix=None):
     """
     Finds a requested static file in a location, returning the found
     absolute path (or ``None`` if no match).
     """
     if prefix:
         prefix = '%s%s' % (prefix, os.sep)
         if not path.startswith(prefix):
             return None
         path = path[len(prefix):]
     path = safe_join(root, path)
     if os.path.exists(path):
         return path
 def get_template_sources(self, template_name, template_dirs=None):
     """
     Returns the absolute paths to "template_name", when appended to each
     directory in "template_dirs". Any paths that don't lie inside one of the
     template dirs are excluded from the result set, for security reasons.
     """
     if not template_dirs:
         template_dirs = app_template_dirs
     for template_dir in template_dirs:
         try:
             yield safe_join(template_dir, template_name)
         except UnicodeDecodeError:
             # The template dir name was a bytestring that wasn't valid UTF-8.
             raise
         except ValueError:
             # The joined path was located outside of template_dir.
             pass
示例#3
0
 def path(self, name):
     try:
         path = safe_join(self.location, name)
     except ValueError:
         raise SuspiciousOperation("Attempted access to '%s' denied." % name)
     return os.path.normpath(path)