Ejemplo n.º 1
0
 def _get_loaders(self):
     """this method is not used
     over-ridden function _get_loaders that creates
     the loader for the skin templates
     """
     loaders = list()
     skin_dirs = utils.get_available_skins(selected = self.skin).values()
     template_dirs = [os.path.join(skin_dir, 'templates') for skin_dir in skin_dirs]
     loaders.append(jinja_loaders.FileSystemLoader(template_dirs))
     return loaders
Ejemplo n.º 2
0
def load_skins(language_code):
    skins = dict()
    for skin_name in utils.get_available_skins():
        skin_code = skin_name + '-' + language_code
        skins[skin_code] = SkinEnvironment(
            skin=skin_name,
            extensions=['jinja2.ext.i18n'],
            globals={'settings': askbot_settings})
        skins[skin_code].set_language(language_code)
    return skins
Ejemplo n.º 3
0
 def _get_loaders(self):
     """this method is not used
     over-ridden function _get_loaders that creates
     the loader for the skin templates
     """
     loaders = list()
     skin_dirs = utils.get_available_skins(selected = self.skin).values()
     template_dirs = [os.path.join(skin_dir, 'templates') for skin_dir in skin_dirs]
     loaders.append(jinja_loaders.FileSystemLoader(template_dirs))
     return loaders
Ejemplo n.º 4
0
def load_skins(language_code):
    skins = dict()
    for skin_name in utils.get_available_skins():
        skin_code = skin_name + '-' + language_code
        skins[skin_code] = SkinEnvironment(
            skin=skin_name,
            extensions=['jinja2.ext.i18n'],
            globals={'settings': askbot_settings})
        skins[skin_code].set_language(language_code)
    return skins
Ejemplo n.º 5
0
def load_skins():
    skins = dict()
    for skin_name in utils.get_available_skins():
        skins[skin_name] = SkinEnvironment(
                                skin = skin_name,
                                extensions=['jinja2.ext.i18n',]
                            )
        skins[skin_name].set_language(django_settings.LANGUAGE_CODE)
        #from askbot.templatetags import extra_filters_jinja as filters
        #skins[skin_name].filters['media'] = filters.media
    return skins
Ejemplo n.º 6
0
def load_skins():
    skins = dict()
    for skin_name in utils.get_available_skins():
        skins[skin_name] = SkinEnvironment(skin=skin_name,
                                           extensions=[
                                               'jinja2.ext.i18n',
                                           ])
        skins[skin_name].set_language(django_settings.LANGUAGE_CODE)
        #from askbot.templatetags import extra_filters_jinja as filters
        #skins[skin_name].filters['media'] = filters.media
    return skins
Ejemplo n.º 7
0
    def _get_loaders(self):
        """over-ridden function _get_loaders that creates
        the loader for the skin templates
        """
        loaders = list()
        skin_name = askbot_settings.ASKBOT_DEFAULT_SKIN
        skin_dirs = utils.get_available_skins(selected=skin_name).values()
        template_dirs = [os.path.join(skin_dir, "templates") for skin_dir in skin_dirs]

        loaders.append(jinja_loaders.FileSystemLoader(template_dirs))
        return loaders
Ejemplo n.º 8
0
def load_skins(language_code):
    skins = dict()
    for skin_name in utils.get_available_skins():
        skin_code = skin_name + '-' + language_code
        skins[skin_code] = SkinEnvironment(
                                skin = skin_name,
                                extensions=['jinja2.ext.i18n',]
                            )
        skins[skin_code].set_language(language_code)
        #from askbot.templatetags import extra_filters_jinja as filters
        #skins[skin_name].filters['media'] = filters.media
    return skins
Ejemplo n.º 9
0
def load_skins(language_code):
    skins = dict()
    for skin_name in utils.get_available_skins():
        skin_code = skin_name + '-' + language_code
        skins[skin_code] = SkinEnvironment(
            skin=skin_name,
            extensions=[
                'jinja2.ext.i18n',
            ],
            globals={'settings': askbot_settings})
        skins[skin_code].set_language(language_code)
        #from askbot.templatetags import extra_filters_jinja as filters
        #skins[skin_name].filters['media'] = filters.media
    return skins
Ejemplo n.º 10
0
def load_skins(language_code):
    skins = dict()
    for skin_name in utils.get_available_skins():
        skin_code = skin_name + '-' + language_code
        skins[skin_code] = SkinEnvironment(
                                auto_reload=True,
                                cache_size=0,
                                skin = skin_name,
                                extensions=['jinja2.ext.i18n',],
                                globals={'settings': askbot_settings}
                            )
        skins[skin_code].set_language(language_code)
        #from askbot.templatetags import extra_filters_jinja as filters
        #skins[skin_name].filters['media'] = filters.media
    return skins
Ejemplo n.º 11
0
def factory(**options):
    # JINJA2_EXTENSIONS was a thing in Coffin. We keep it around because it
    # may be used in Askbot. Should think about deprecating its use.
    options["extensions"] = DEFAULT_EXTENSIONS \
                          + list(django_settings.JINJA2_EXTENSIONS)
    askbot_globals = {
        'settings': askbot_settings,
        'hasattr': hasattr,
        'encode_jwt': encode_jwt
    }

    mother_of_all_loaders = options.pop('loader')

    skins = utils.get_available_skins()
    if askbot.is_multilingual() or HAS_ASKBOT_LOCALE_MIDDLEWARE:
        languages = list(dict(django_settings.LANGUAGES).keys())
    else:
        languages = [django_settings.LANGUAGE_CODE]

    # create an environment for each skin and language we might serve
    # Jinja2 Environments know a concept called "overlays" which cries for
    # consideration here. It may greatly simplify loading templatetags ...
    all_combinations = [(name, lang) for name in skins for lang in languages]
    for name, lang in all_combinations:
        skin_basedir = utils.get_path_to_skin(name)
        options["skin"] = name
        options["language_code"] = lang
        options['loader'] = deepcopy(mother_of_all_loaders)
        options['loader'].searchpath = [f'{skin_basedir}/jinja2'
                                        ] + options['loader'].searchpath
        env = SkinEnvironment(**options)
        env.globals.update(askbot_globals)
        env.set_language(lang)

    load_templatetags()

    # give Django what it asked for
    default_sibling = SkinEnvironment.build_sibling_key(
        [askbot_settings.ASKBOT_DEFAULT_SKIN,
         get_language()])

    return SkinEnvironment.siblings[default_sibling]
Ejemplo n.º 12
0
def load_skins():
    skins = dict()
    for skin_name in utils.get_available_skins():
        skins[skin_name] = SkinEnvironment(skin = skin_name)
        skins[skin_name].set_language(django_settings.LANGUAGE_CODE)
    return skins
Ejemplo n.º 13
0
def load_skins():
    skins = dict()
    for skin_name in utils.get_available_skins():
        skins[skin_name] = SkinEnvironment(skin=skin_name)
        skins[skin_name].set_language(django_settings.LANGUAGE_CODE)
    return skins