'Evaluate a template (a string or a `Template` object) using
the object\'s fields. If `for_path` is true, then no new path
separators will be added to the template.'

def evaluate_template(self, template, for_path=False):

    if isinstance(template, six.string_types):
        template = Template(template)
    return template.substitute(self.formatted(for_path), self._template_funcs())
