コード例 #1
0
ファイル: dsl.py プロジェクト: olivierlemasle/murano
 def find_owner(self, type, optional=False):
     context = helpers.get_context().create_child_context()
     yaql_engine = helpers.get_yaql_engine(context)
     context['$1'] = self.object
     context['$2'] = type
     expr_str = '$1.find($2)'
     if not optional:
         expr_str += '.require()'
     result = yaql_engine(expr_str).evaluate(context=context)
     return None if result is None else MuranoObjectInterface(result)
コード例 #2
0
ファイル: dsl.py プロジェクト: Aqsamm/murano
def to_mutable(obj, yaql_engine=None):
    if yaql_engine is None:
        yaql_engine = helpers.get_yaql_engine()

    def converter(value, limit_func, engine, rec):
        if isinstance(value, dsl_types.MuranoObject):
            return MuranoObjectInterface(value)
        else:
            return utils.convert_output_data(value, limit_func, engine, rec)

    limiter = lambda it: utils.limit_iterable(it, constants.ITERATORS_LIMIT)
    return converter(obj, limiter, yaql_engine, converter)
コード例 #3
0
ファイル: dsl.py プロジェクト: Magic-Mirror/murano
 def engine(self):
     return helpers.get_yaql_engine(self.context)
コード例 #4
0
ファイル: dsl.py プロジェクト: Magic-Mirror/murano
 def __getitem__(self, item):
     context = helpers.get_context()
     return to_mutable(
         self.__object.get_property(item, context),
         helpers.get_yaql_engine(context))
コード例 #5
0
ファイル: dsl.py プロジェクト: Aqsamm/murano
 def yaql(self, receiver=utils.NO_VALUE):
     return yaql_interface.YaqlInterface(
         helpers.get_context(), helpers.get_yaql_engine(), receiver)
コード例 #6
0
 def engine(self):
     return helpers.get_yaql_engine(self.context)