在我分配给我们的项目中,我们使用pytransitions. 我们的状态被创建,配备了额外的属性,并首先作为对象一个一个地添加到列表中。然后这个State对象列表被传递给一个Machine对象。这是一个简单的例子:
from transitions import State
states = []
state_initial = State("initial", on_exit="some_callback")
text = "this is some text"
state.text = text
states.append(state)
这是一台机器的创建方式:
from transitions import Machine
from some_library import SomeClass
from my_module import user_transitions
class User:
states = states
initial_state = states[0]
def __init__(self, some_param: str, another_param: SomeClass = default_param):
self.machine = Machine(model=self,
states=User.states,
initial=User.initial_state,
transitions=user_transitions,
prepare_event="preparing_callback",
after_state_change="ending_callback")
我想做的是在状态对象创建时或之后向我的状态添加标签。我的意思是 中的标签transitions.extensions.states,所以我可以使用is_tag文档中的方法来获取它们。考虑到我的传统设置,类似state_initial.add_tags(["tag1", "tag2"])或 state_initial = State("initial", on_exit="some_callback", tags=["tag1", "tag2"]) 以任何其他方式。我该怎么做?
一只萌萌小番薯
相关分类