Example #1
0
    def __init__(self, project_folder, config):
        self.project_folder = os.path.abspath(project_folder)
        self.config = config
        self.programs = builtin_programs.copy()
        self.modules = []
        self.storage = {}
        self.url_map = Map()
        parsed = urlparse(self.config.root_get('canonical_url'))
        self.prefix_path = parsed.path
        self.url_adapter = self.url_map.bind('dummy.invalid',
                                             script_name=self.prefix_path)
        self.register_url('page', '/<path:slug>')

        template_path = os.path.join(
            self.project_folder,
            self.config.root_get('template_path')
            or self.default_template_path)
        self.locale = Locale(self.config.root_get('locale') or 'en')
        self.jinja_env = Environment(
            loader=FileSystemLoader([template_path, builtin_templates]),
            autoescape=self.config.root_get('template_autoescape', True),
            extensions=['jinja2.ext.autoescape', 'jinja2.ext.with_'],
        )
        self.jinja_env.globals.update(link_to=self.link_to,
                                      format_datetime=self.format_datetime,
                                      format_date=self.format_date,
                                      format_time=self.format_time)

        self.static_folder = self.config.root_get('static_folder') or \
                             self.default_static_folder

        for module in self.config.root_get('active_modules') or []:
            mod = find_module(module)
            mod.setup(self)
            self.modules.append(mod)
Example #2
0
    def __init__(self, project_folder, config):
        self.project_folder = os.path.abspath(project_folder)
        self.config = config
        self.programs = builtin_programs.copy()
        self.modules = []
        self.storage = {}
        self.url_map = Map()
        self.url_adapter = self.url_map.bind('dummy.invalid')
        self.register_url('page', '/<path:slug>')

        template_path = os.path.join(self.project_folder,
            self.config.root_get('template_path') or
                self.default_template_path)
        self.locale = Locale(self.config.root_get('locale') or 'en')
        self.jinja_env = Environment(
            loader=FileSystemLoader([template_path, builtin_templates]),
            autoescape=self.config.root_get('template_autoescape', True),
            extensions=['jinja2.ext.autoescape', 'jinja2.ext.with_'],
        )
        self.jinja_env.globals.update(
            link_to=self.link_to,
            format_datetime=self.format_datetime,
            format_date=self.format_date,
            format_time=self.format_time
        )

        self.static_folder = self.config.root_get('static_folder') or \
                             self.default_static_folder

        for module in self.config.root_get('active_modules') or []:
            mod = find_module(module)
            mod.setup(self)
            self.modules.append(mod)
Example #3
0
    def __init__(self, project_folder, config):
        self.project_folder = os.path.abspath(project_folder)
        self.config = config
        self.programs = builtin_programs.copy()
        self.modules = []
        self.storage = {}
        self.url_map = Map()
        parsed = urlparse(self.config.root_get("canonical_url"))
        self.prefix_path = parsed.path
        self.url_adapter = self.url_map.bind("dummy.invalid", script_name=self.prefix_path)
        self.register_url("page", "/<path:slug>")

        template_path = os.path.join(
            self.project_folder, self.config.root_get("template_path") or self.default_template_path
        )
        self.locale = Locale(self.config.root_get("locale") or "en")
        self.jinja_env = Environment(
            loader=FileSystemLoader([template_path, builtin_templates]),
            autoescape=self.config.root_get("template_autoescape", True),
            extensions=["jinja2.ext.autoescape", "jinja2.ext.with_"],
        )
        self.jinja_env.globals.update(
            link_to=self.link_to,
            format_datetime=self.format_datetime,
            format_date=self.format_date,
            format_time=self.format_time,
        )

        self.static_folder = self.config.root_get("static_folder") or self.default_static_folder

        for module in self.config.root_get("active_modules") or []:
            mod = find_module(module)
            mod.setup(self)
            self.modules.append(mod)