ok
Direktori : /proc/thread-self/root/proc/self/root/usr/lib/python2.7/site-packages/jinja2/ |
Current File : //proc/thread-self/root/proc/self/root/usr/lib/python2.7/site-packages/jinja2/loaders.pyc |
� ��Rc @ si d Z d d l Z d d l Z d d l Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z m Z d d l m Z m Z d � Z d e f d � � YZ d e f d � � YZ d e f d � � YZ d e f d � � YZ d e f d � � YZ d e f d � � YZ d e f d � � YZ d e f d � � YZ d e f d � � YZ d S( s� jinja2.loaders ~~~~~~~~~~~~~~ Jinja loader classes. :copyright: (c) 2010 by the Jinja Team. :license: BSD, see LICENSE for more details. i����N( t ModuleType( t path( t sha1( t TemplateNotFound( t open_if_existst internalcode( t string_typest iteritemsc C s� g } x~ | j d � D]m } t j | k sR t j rC t j | k sR | t j k ra t | � � q | r | d k r | j | � q q W| S( s� Split a path into segments and perform a sanity check. If it detects '..' in the path it will raise a `TemplateNotFound` error. t /t .( t splitR t sept altsept pardirR t append( t templatet piecest piece( ( s2 /usr/lib/python2.7/site-packages/jinja2/loaders.pyt split_template_path s t BaseLoaderc B s8 e Z d Z e Z d � Z d � Z e d d � � Z RS( s� Baseclass for all loaders. Subclass this and override `get_source` to implement a custom loading mechanism. The environment provides a `get_template` method that calls the loader's `load` method to get the :class:`Template` object. A very basic example for a loader that looks up templates on the file system could look like this:: from jinja2 import BaseLoader, TemplateNotFound from os.path import join, exists, getmtime class MyLoader(BaseLoader): def __init__(self, path): self.path = path def get_source(self, environment, template): path = join(self.path, template) if not exists(path): raise TemplateNotFound(template) mtime = getmtime(path) with file(path) as f: source = f.read().decode('utf-8') return source, path, lambda: mtime == getmtime(path) c C s2 | j s"