'Return the template directory of the scaffold.  By default, it
returns the value of ``os.path.join(self.module_dir(),
self._template_dir)`` (``self.module_dir()`` returns the module in
which your subclass has been defined).  If ``self._template_dir`` is
a tuple this method just returns the value instead of trying to
construct a path.  If _template_dir is a tuple, it should be a
2-element tuple: ``(package_name, package_relative_path)``.'

def template_dir(self):

    assert (self._template_dir is not None), ("Template    %r    didn't    set    _template_dir" % self)
    if isinstance(self._template_dir, tuple):
        return self._template_dir
    else:
        return os.path.join(self.module_dir(), self._template_dir)
