summaryrefslogtreecommitdiff
path: root/pystache/template_spec.py
blob: 9e9f454c19d506220b470d4184c8835f91457344 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# coding: utf-8

"""
Provides a class to customize template information on a per-view basis.

To customize template properties for a particular view, create that view
from a class that subclasses TemplateSpec.  The "spec" in TemplateSpec
stands for "special" or "specified" template information.

"""

class TemplateSpec(object):

    """
    A mixin or interface for specifying custom template information.

    The "spec" in TemplateSpec can be taken to mean that the template
    information is either "specified" or "special."

    A view should subclass this class only if customized template loading
    is needed.  The following attributes allow one to customize/override
    template information on a per view basis.  A None value means to use
    default behavior for that value and perform no customization.  All
    attributes are initialized to None.

    Attributes:

      template: the template as a string.

      template_encoding: the encoding used by the template.

      template_extension: the template file extension.  Defaults to "mustache".
        Pass False for no extension (i.e. extensionless template files).

      template_name: the name of the template.

      template_path: absolute path to the template.

      template_rel_directory: the directory containing the template file,
        relative to the directory containing the module defining the class.

      template_rel_path: the path to the template file, relative to the
        directory containing the module defining the class.

    """

    template = None
    template_encoding = None
    template_extension = None
    template_name = None
    template_path = None
    template_rel_directory = None
    template_rel_path = None