ÿØÿà JFIF ` ` ÿþxØ
| Server IP : 109.234.164.53 / Your IP : 216.73.216.110 Web Server : Apache System : Linux cervelle.o2switch.net 4.18.0-553.32.1.lve.el8.x86_64 #1 SMP Thu Dec 19 13:14:03 UTC 2024 x86_64 User : computer3 ( 1098) PHP Version : 7.1.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/alt/python37/share/doc/alt-python37-pyparsing-doc/examples/statemachine/ |
Upload File : |
#
# video_demo.py
#
# Simple statemachine demo, based on the state transitions given in videostate.pystate
#
import statemachine
import videostate
class Video(videostate.VideoStateMixin):
def __init__(self, title):
self.initialize_state(videostate.Stopped)
self.title = title
# ==== main loop - a REPL ====
v = Video("Die Hard.mp4")
while True:
print(v.state)
cmd = (
input("Command ({})> ".format("/".join(videostate.VideoState.transition_names)))
.lower()
.strip()
)
if not cmd:
continue
if cmd in ("?", "h", "help"):
print("enter a transition {!r}".format(videostate.VideoState.transition_names))
print(" q - quit")
print(" ?, h, help - this message")
continue
# quitting out
if cmd.startswith("q"):
break
# get transition function for given command
state_transition_fn = getattr(v, cmd, None)
if state_transition_fn is None:
print("???")
continue
# invoke the input transition, handle invalid commands
try:
state_transition_fn()
except videostate.VideoState.InvalidTransitionException as e:
print(e)