当前位置: 首页>>代码示例>>Python>>正文


Python exceptions.UndefinedError方法代码示例

本文整理汇总了Python中jinja2.exceptions.UndefinedError方法的典型用法代码示例。如果您正苦于以下问题:Python exceptions.UndefinedError方法的具体用法?Python exceptions.UndefinedError怎么用?Python exceptions.UndefinedError使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在jinja2.exceptions的用法示例。


在下文中一共展示了exceptions.UndefinedError方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: generate_by_context

# 需要导入模块: from jinja2 import exceptions [as 别名]
# 或者: from jinja2.exceptions import UndefinedError [as 别名]
def generate_by_context(self, context):
        if context is None:
            raise RuntimeError('Can\'t generate templates from None context')

        templates = self._preprocess_templates(context.get('templates', []))
        if len(templates) == 0:
            templates = context.get('kubectl', [])
            if len(templates) == 0:
                return

        output = []
        for template in self._iterate_entries(templates):
            try:
                path = self._generate_file(template, settings.TEMP_DIR, context)
                log.info('File "{}" successfully generated'.format(path))
                output.append(path)
            except TemplateNotFound as e:
                raise TemplateRenderingError(
                    "Processing {}: template {} hasn't been found".format(template['template'], e.name))
            except (UndefinedError, TemplateSyntaxError) as e:
                raise TemplateRenderingError('Unable to render {}, due to: {}'.format(template, e))
        return output 
开发者ID:2gis,项目名称:k8s-handle,代码行数:24,代码来源:templating.py

示例2: try_default

# 需要导入模块: from jinja2 import exceptions [as 别名]
# 或者: from jinja2.exceptions import UndefinedError [as 别名]
def try_default(value, default, ignore=False):
    """
    This filter ignores undefined variables and returns
    default value, if default value is undefined and 'ignore'
    options is enabled then return 'False' otherwise raise
    exception 'UndefinedError'.
    """

    if not isinstance(value, Undefined):
        return value
    elif not isinstance(default, Undefined):
        return default
    elif isinstance(default, Undefined) and ignore:
        return False
    else:
        raise UndefinedError("One of the nested variables are undefined") 
开发者ID:redhat-openstack,项目名称:infrared,代码行数:18,代码来源:try_default.py

示例3: test_templates

# 需要导入模块: from jinja2 import exceptions [as 别名]
# 或者: from jinja2.exceptions import UndefinedError [as 别名]
def test_templates(self):
        """
        Just to check templates syntax

        :return: None
        """

        from jinja2 import Environment, exceptions
        jinja_env = Environment(extensions=['jinja2.ext.i18n'])
        templates = os.listdir('bot/templates')
        for template in templates:
            print('Testing template:{}'.format(template))
            with open(os.path.join('bot/templates', template)) as f:
                template_text = unicode(f.read())
            try:
                jinja_env.from_string(template_text).render()
            except exceptions.TemplateAssertionError:
                pass
            except exceptions.UndefinedError:
                pass 
开发者ID:Xevib,项目名称:osmbot,代码行数:22,代码来源:test.py

示例4: _validate_output_source

# 需要导入模块: from jinja2 import exceptions [as 别名]
# 或者: from jinja2.exceptions import UndefinedError [as 别名]
def _validate_output_source(self, output_source, input_context):
        try:
            render_from_template(
                output_source.get('filename'), input_context)
            render_string_or_list(
                output_source.get('filenames'),
                input_context)
            render_from_template(
                output_source.get('glob'), input_context)
        except UndefinedError as e:
            raise serializers.ValidationError({
                'source':
                'Error "%s" in output source "%s"' %
                (e, output_source)}) 
开发者ID:StanfordBioinformatics,项目名称:loom,代码行数:16,代码来源:templates.py

示例5: evaluate

# 需要导入模块: from jinja2 import exceptions [as 别名]
# 或者: from jinja2.exceptions import UndefinedError [as 别名]
def evaluate(self):
        """
        Evaluate trigger instance against the rule.

        :return: ``True`` if the rule matches, ``False`` otherwise.
        :rtype: ``boolean``
        """

        rule_db = self._get_rule_db()
        trigger_instance_db, trigger_db = self._get_trigger_instance_db()

        # The trigger check needs to be performed here as that is not performed
        # by RulesMatcher.
        if rule_db.trigger != trigger_db.ref:
            LOG.info('rule.trigger "%s" and trigger.ref "%s" do not match.',
                     rule_db.trigger, trigger_db.ref)
            return False

        # Check if rule matches criteria.
        matcher = RulesMatcher(trigger_instance=trigger_instance_db, trigger=trigger_db,
                               rules=[rule_db], extra_info=True)
        matching_rules = matcher.get_matching_rules()

        # Rule does not match so early exit.
        if len(matching_rules) < 1:
            return False

        # Check if rule can be enforced
        enforcer = RuleEnforcer(trigger_instance=trigger_instance_db, rule=rule_db)

        runner_type_db = mock.Mock()
        runner_type_db.runner_parameters = {}
        action_db = mock.Mock()
        action_db.parameters = {}
        params = rule_db.action.parameters  # pylint: disable=no-member

        context, additional_contexts = enforcer.get_action_execution_context(action_db=action_db,
                                                                             trace_context=None)

        # Note: We only return partially resolved parameters.
        # To be able to return all parameters we would need access to corresponding ActionDB,
        # RunnerTypeDB and ConfigDB object, but this would add a dependency on the database and the
        # tool is meant to be used standalone.
        try:
            params = enforcer.get_resolved_parameters(action_db=action_db,
                                                      runnertype_db=runner_type_db,
                                                      params=params,
                                                      context=context,
                                                      additional_contexts=additional_contexts)

            LOG.info('Action parameters resolved to:')
            for param in six.iteritems(params):
                LOG.info('\t%s: %s', param[0], param[1])
            return True
        except (UndefinedError, ValueError) as e:
            LOG.error('Failed to resolve parameters\n\tOriginal error : %s', six.text_type(e))
            return False
        except:
            LOG.exception('Failed to resolve parameters.')
            return False 
开发者ID:StackStorm,项目名称:st2,代码行数:62,代码来源:tester.py


注:本文中的jinja2.exceptions.UndefinedError方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。