summaryrefslogtreecommitdiff
path: root/pystache/template_spec.py
diff options
context:
space:
mode:
Diffstat (limited to 'pystache/template_spec.py')
-rw-r--r--pystache/template_spec.py81
1 files changed, 0 insertions, 81 deletions
diff --git a/pystache/template_spec.py b/pystache/template_spec.py
index 4d042fa..c33f30b 100644
--- a/pystache/template_spec.py
+++ b/pystache/template_spec.py
@@ -5,13 +5,6 @@ This module supports customized (aka special or specified) template loading.
"""
-import os.path
-
-from .loader import Loader
-
-
-# TODO: consider putting TemplateSpec and SpecLoader in separate modules.
-
# TODO: finish the class docstring.
class TemplateSpec(object):
@@ -48,77 +41,3 @@ class TemplateSpec(object):
template_name = None
template_extension = None
template_encoding = None
-
-
-# TODO: add test cases for this class.
-class SpecLoader(object):
-
- """
- Supports loading a custom-specified template.
-
- """
-
- def __init__(self, loader=None):
- if loader is None:
- loader = Loader()
-
- self.loader = loader
-
- def _find_relative(self, spec):
- """
- Return the path to the template as a relative (dir, file_name) pair.
-
- The directory returned is relative to the directory containing the
- class definition of the given object. The method returns None for
- this directory if the directory is unknown without first searching
- the search directories.
-
- """
- if spec.template_rel_path is not None:
- return os.path.split(spec.template_rel_path)
-
- # Otherwise, determine the file name separately.
- locator = self.loader._make_locator()
-
- template_name = (spec.template_name if spec.template_name is not None else
- locator.make_template_name(spec))
-
- file_name = locator.make_file_name(template_name, spec.template_extension)
-
- return (spec.template_rel_directory, file_name)
-
- def _find(self, spec):
- """
- Find and return the path to the template associated to the instance.
-
- """
- dir_path, file_name = self._find_relative(spec)
-
- locator = self.loader._make_locator()
-
- if dir_path is None:
- # Then we need to search for the path.
- path = locator.find_object(spec, self.loader.search_dirs, file_name=file_name)
- else:
- obj_dir = locator.get_object_directory(spec)
- path = os.path.join(obj_dir, dir_path, file_name)
-
- return path
-
- def load(self, spec):
- """
- Find and return the template associated to a TemplateSpec instance.
-
- Returns the template as a unicode string.
-
- Arguments:
-
- spec: a TemplateSpec instance.
-
- """
- if spec.template is not None:
- return self.loader.unicode(spec.template, spec.template_encoding)
-
- path = self._find(spec)
-
- return self.loader.read(path, spec.template_encoding)