예제 #1
0
    def load_template_source(self, template_name, layers_dirs=None, templates_dirs=None, layers_funcs=None):
        from layers.middleware import get_current_request
        request = get_current_request()

        layers_dirs = layers_dirs or app_layers_dirs
        templates_dirs = templates_dirs or app_templates_dirs
        layers_funcs = layers_funcs or app_layers_funcs

        for f in layers_funcs:
            ## optimization: check if we didn't already try this prefix in a previous iteration
            prefix = f(request)

            if prefix:
                if layers_dirs:
                    for filepath in self.get_template_sources(os.path.join(prefix, "templates", template_name), layers_dirs):
                        try:
                            with open(filepath, 'rb') as fp:
                                return (fp.read().decode(settings.FILE_CHARSET), filepath)
                        except IOError:
                            pass
                if templates_dirs:
                    for filepath in self.get_template_sources(os.path.join(prefix, template_name), templates_dirs):
                        try:
                            with open(filepath, 'rb') as fp:
                                return (fp.read().decode(settings.FILE_CHARSET), filepath)
                        except IOError:
                            pass
        raise TemplateDoesNotExist(template_name)
예제 #2
0
    def load_template_source(self, template_name, layers_dirs=None, templates_dirs=None, layers_funcs=None):
        from layers.middleware import get_current_request
        request = get_current_request()

        layers_dirs = layers_dirs or app_layers_dirs
        templates_dirs = templates_dirs or app_templates_dirs
        layers_funcs = layers_funcs or app_layers_funcs

        for f in layers_funcs:
            ## optimization: check if we didn't already try this prefix in a previous iteration
            prefix = f(request)

            if prefix:
                if layers_dirs:
                    for filepath in self.get_template_sources(os.path.join(prefix, "templates", template_name), layers_dirs):
                        try:
                            with open(filepath, 'rb') as fp:
                                return (fp.read().decode(settings.FILE_CHARSET), filepath)
                        except IOError:
                            pass
                if templates_dirs:
                    for filepath in self.get_template_sources(os.path.join(prefix, template_name), templates_dirs):
                        try:
                            with open(filepath, 'rb') as fp:
                                return (fp.read().decode(settings.FILE_CHARSET), filepath)
                        except IOError:
                            pass
        raise TemplateDoesNotExist(template_name)
예제 #3
0
    def test_roundtrip(self):
        req = {}
        LayerLoaderMiddleware().process_request(req)

        assert get_current_request() is req
예제 #4
0
    def test_roundtrip(self):
        req = {}
        LayerLoaderMiddleware().process_request(req)

        assert get_current_request() is req