Example #1
0
	def get(self, _, templates):
		templates = templates.split(",")
		response = {}

		for template in templates:
			try:
				view_name, view_method = template.split(".")
			except ValueError:
				if not template in self.allowed_templates:
					raise NotAcceptable("Template: {}".format(template))

				loader = Loader()
				name = "{}.html".format(template)
				template_body = loader.load_template_source(name)[0]

				response[template] = self.reformat_template(template_body)
			else:
				if view_name not in self.allowed_views.keys():
					raise NotAcceptable("View: {}".format(view_name))

				view = self.allowed_views[view_name]

				if view_name in self.allowed_methods.keys() and \
						view_method not in self.allowed_methods[view_name]:
					raise NotAcceptable("Method: {}.{}".format(view_name,
						view_method))

				views = getattr(view, view_method)()

				response[view_name] = views
				# response.update({"{}.{}".format(view_name, name): template_body\
				# 	for name, template_body in views.items()})

		return Response(response)
Example #2
0
    def get(self, _, templates):
        templates = templates.split(",")
        response = {}

        for template in templates:
            try:
                view_name, view_method = template.split(".")
            except ValueError:
                if not template in self.allowed_templates:
                    raise NotAcceptable("Template: {}".format(template))

                loader = Loader()
                name = "{}.html".format(template)
                template_body = loader.load_template_source(name)[0]

                response[template] = self.reformat_template(template_body)
            else:
                if view_name not in self.allowed_views.keys():
                    raise NotAcceptable("View: {}".format(view_name))

                view = self.allowed_views[view_name]

                if view_name in self.allowed_methods.keys() and \
                  view_method not in self.allowed_methods[view_name]:
                    raise NotAcceptable("Method: {}.{}".format(
                        view_name, view_method))

                views = getattr(view, view_method)()

                response[view_name] = views
                # response.update({"{}.{}".format(view_name, name): template_body\
                # 	for name, template_body in views.items()})

        return Response(response)
Example #3
0
def ssi_loader(context, filepath):
    try:
        loader = Loader()
        source, origin = loader.load_template_source(filepath)
        return source

    except Exception as e:
        return ''
def get_template(templatefile, failmsg="no template filename supplied"):
    """
    Retrieve template source from the supplied filename
    """
    assert templatefile, "get_template: %s" % failmsg
    # Instantiate a template loader
    loader = Loader()
    # Source: actual source code read from template file
    # File path: absolute file path of template file
    source, file_path = loader.load_template_source(templatefile)
    return source
Example #5
0
def get_template(templatefile, failmsg="no template filename supplied"):
    """
    Retrieve template source from the supplied filename
    """
    assert templatefile, "get_template: %s"%failmsg
    # Instantiate a template loader
    loader = Loader()
    # Source: actual source code read from template file
    # File path: absolute file path of template file
    source, file_path = loader.load_template_source(templatefile)
    return source
Example #6
0
File: std.py Project: vaad2/vest
def template_to_source():
    import codecs
    from django.conf import settings
    from django.template.loaders.app_directories import Loader
    from common.models import SiteTemplate

    loader = Loader()

    apps_root = os.path.realpath('%s/../' % settings.PROJECT_ROOT)

    for st in SiteTemplate.objects.all():
        for filepath in loader.get_template_sources(st.name):
            try:
                if file_exists(filepath) and filepath.startswith(apps_root):
                    with codecs.open(filepath, 'w', 'utf8') as f:
                        f.write(st.content)
                        print st.name, filepath, '-ok'
            except IOError as e:
                pass
Example #7
0
def template_to_source():
    import codecs
    from django.conf import settings
    from django.template.loaders.app_directories import Loader
    from common.models import SiteTemplate

    loader = Loader()

    apps_root = os.path.realpath('%s/../' % settings.PROJECT_ROOT)

    for st in SiteTemplate.active_objects.all():
        for filepath in loader.get_template_sources(st.name):
            try:
                if file_exists(filepath) and filepath.startswith(apps_root):
                    with codecs.open(filepath, 'w', 'utf8') as f:
                        f.write(st.content)
                        print st.name, filepath, '-ok'
            except IOError as e:
                print e
Example #8
0
def do_include_raw(parser, token):
    """Perform a raw template include.

    This means to include the template without parsing context, just dump the
    template in.

    Source: http://djangosnippets.org/snippets/1684/
    """
    bits = token.split_contents()
    if len(bits) != 2:
        excp_msg = ("%r tag takes one argument: the name of the template to "
                    "be included" % bits[0])
        raise template.TemplateSyntaxError(excp_msg)

    template_name = bits[1]
    if (template_name[0] in ('"', "'") and
        template_name[-1] == template_name[0]):
        template_name = template_name[1:-1]

    template_loader = Loader()
    source, path = template_loader.load_template_source(template_name)

    return template.TextNode(source)
Example #9
0
def do_include_raw(parser, token):
    """ 
    Performs a template include without parsing the context, just dumps the template in.
    """
    bits = token.split_contents()
    if len(bits) != 2:
        raise TemplateSyntaxError, "%r tag takes one argument: the name of the template to be included" % bits[
            0]

    template_name = bits[1]
    if template_name[0] in ('"',
                            "'") and template_name[-1] == template_name[0]:
        template_name = template_name[1:-1]

    #source, path = load_template_source(template_name)
    source, path = Loader().load_template_source(template_name)

    return template.TextNode(source)
 def get_template_sources(self, template_name, template_dirs=None):
     if not template_dirs:
         template_dirs = app_template_dirs
     return AppDirLoader.get_template_sources(
         self, template_name, reversed(template_dirs))
Example #11
0
 def get_template_sources(self, template_name, template_dirs=None):
     vals = list(
         Loader.get_template_sources(self, template_name, template_dirs))
     vals.reverse()
     return vals
Example #12
0
 def formfield_for_dbfield(self, db_field, **kwargs):
     if db_field.name == 'content':
         l = Loader()
         kwargs['initial'] = l.load_template_source('newsletters/mail/body/iw-newsletter.html')[0]
     return super(NewsletterAdmin, self).formfield_for_dbfield(db_field, **kwargs)
Example #13
0
 def get_extra_context(self, request):
     include = request.view_params.get('include')
     html, _ = Loader().load_template_source(include)
     html_snippet = highlight(html, HtmlDjangoLexer(),
                              HtmlFormatter(full=False, noclasses=True))
     return {'html': html_snippet, 'path': include}
Example #14
0
from django.template.loaders.app_directories import Loader

from .base import ConditionalJinja2LoaderMixin


class Loader(ConditionalJinja2LoaderMixin, Loader):
    pass


_loader = Loader()
Example #15
0
 def template_source(self, template_name):
     source_loader = Loader()
     source, file_path = source_loader.load_template_source(template_name)
     return source
 def get_template_sources(self, template_name, template_dirs=None):
     vals = list(Loader.get_template_sources(self, template_name, template_dirs))
     vals.reverse()
     return vals