本文整理汇总了Python中st2common.persistence.trace.Trace.add_or_update方法的典型用法代码示例。如果您正苦于以下问题:Python Trace.add_or_update方法的具体用法?Python Trace.add_or_update怎么用?Python Trace.add_or_update使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类st2common.persistence.trace.Trace
的用法示例。
在下文中一共展示了Trace.add_or_update方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_add_or_update_given_trace_context
# 需要导入模块: from st2common.persistence.trace import Trace [as 别名]
# 或者: from st2common.persistence.trace.Trace import add_or_update [as 别名]
def test_add_or_update_given_trace_context(self):
trace_context = {'id_': str(self.trace_empty.id)}
action_execution_id = 'action_execution_1'
rule_id = 'rule_1'
trigger_instance_id = 'trigger_instance_1'
trace_service.add_or_update_given_trace_context(
trace_context,
action_executions=[action_execution_id],
rules=[rule_id],
trigger_instances=[trigger_instance_id])
retrieved_trace_db = Trace.get_by_id(self.trace_empty.id)
self.assertEqual(len(retrieved_trace_db.action_executions), 1,
'Expected updated action_executions.')
self.assertEqual(retrieved_trace_db.action_executions[0].object_id, action_execution_id,
'Expected updated action_executions.')
self.assertEqual(len(retrieved_trace_db.rules), 1, 'Expected updated rules.')
self.assertEqual(retrieved_trace_db.rules[0].object_id, rule_id, 'Expected updated rules.')
self.assertEqual(len(retrieved_trace_db.trigger_instances), 1,
'Expected updated trigger_instances.')
self.assertEqual(retrieved_trace_db.trigger_instances[0].object_id, trigger_instance_id,
'Expected updated trigger_instances.')
Trace.delete(retrieved_trace_db)
Trace.add_or_update(self.trace_empty)
示例2: add_or_update_given_trace_db
# 需要导入模块: from st2common.persistence.trace import Trace [as 别名]
# 或者: from st2common.persistence.trace.Trace import add_or_update [as 别名]
def add_or_update_given_trace_db(trace_db, action_executions=None, rules=None,
trigger_instances=None):
"""
Will update an existing Trace.
:param trace_db: The TraceDB to update.
:type trace_db: ``TraceDB``
:param action_executions: The action_execution to be added to the Trace. Should a list
of object_ids or a dict containing object_ids and caused_by.
:type action_executions: ``list``
:param rules: The rules to be added to the Trace. Should a list of object_ids or a dict
containing object_ids and caused_by.
:type rules: ``list``
:param trigger_instances: The trigger_instances to be added to the Trace. Should a list
of object_ids or a dict containing object_ids and caused_by.
:type trigger_instances: ``list``
:rtype: ``TraceDB``
"""
if trace_db is None:
raise ValueError('trace_db should be non-None.')
if not action_executions:
action_executions = []
action_executions = [_to_trace_component_db(component=action_execution)
for action_execution in action_executions]
if not rules:
rules = []
rules = [_to_trace_component_db(component=rule) for rule in rules]
if not trigger_instances:
trigger_instances = []
trigger_instances = [_to_trace_component_db(component=trigger_instance)
for trigger_instance in trigger_instances]
# If an id exists then this is an update and we do not want to perform
# an upsert so use push_components which will use the push operator.
if trace_db.id:
return Trace.push_components(trace_db,
action_executions=action_executions,
rules=rules,
trigger_instances=trigger_instances)
trace_db.action_executions = action_executions
trace_db.rules = rules
trace_db.trigger_instances = trigger_instances
return Trace.add_or_update(trace_db)
示例3: add_or_update_given_trace_db
# 需要导入模块: from st2common.persistence.trace import Trace [as 别名]
# 或者: from st2common.persistence.trace.Trace import add_or_update [as 别名]
def add_or_update_given_trace_db(trace_db, action_executions=None, rules=None,
trigger_instances=None):
"""
Will update an existing Trace.
:param trace_db: The TraceDB to update.
:type trace_db: ``TraceDB``
:param action_executions: The action_execution to be added to the Trace. Should a list
of object_ids.
:type action_executions: ``list``
:param rules: The rules to be added to the Trace. Should a list of object_ids.
:type rules: ``list``
:param trigger_instances: The trigger_instances to be added to the Trace. Should a list
of object_ids.
:type trigger_instances: ``list``
:rtype: ``TraceDB``
"""
if trace_db is None:
raise ValueError('trace_db should be non-None.')
if not action_executions:
action_executions = []
action_executions = [TraceComponentDB(object_id=action_execution)
for action_execution in action_executions]
if trace_db.action_executions:
action_executions.extend(trace_db.action_executions)
if not rules:
rules = []
rules = [TraceComponentDB(object_id=rule) for rule in rules]
if trace_db.rules:
rules.extend(trace_db.rules)
if not trigger_instances:
trigger_instances = []
trigger_instances = [TraceComponentDB(object_id=trigger_instance)
for trigger_instance in trigger_instances]
if trace_db.trigger_instances:
trigger_instances.extend(trace_db.trigger_instances)
trace_db.action_executions = action_executions
trace_db.rules = rules
trace_db.trigger_instances = trigger_instances
return Trace.add_or_update(trace_db)
示例4: _create_save_trace
# 需要导入模块: from st2common.persistence.trace import Trace [as 别名]
# 或者: from st2common.persistence.trace.Trace import add_or_update [as 别名]
def _create_save_trace(trace_tag, id_=None, action_executions=None, rules=None,
trigger_instances=None):
if action_executions is None:
action_executions = []
action_executions = [TraceComponentDB(object_id=action_execution)
for action_execution in action_executions]
if rules is None:
rules = []
rules = [TraceComponentDB(object_id=rule) for rule in rules]
if trigger_instances is None:
trigger_instances = []
trigger_instances = [TraceComponentDB(object_id=trigger_instance)
for trigger_instance in trigger_instances]
created = TraceDB(id=id_,
trace_tag=trace_tag,
trigger_instances=trigger_instances,
rules=rules,
action_executions=action_executions)
return Trace.add_or_update(created)