-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcommand_handler.py
More file actions
31 lines (27 loc) · 1.03 KB
/
command_handler.py
File metadata and controls
31 lines (27 loc) · 1.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import string
import time
class CommandHandler:
def __init__(self, global_state, ss_map, config):
self.global_state = global_state
self.ss_map = ss_map
self.config = config
def cmd(self, msg_str):
cmd_split = string.split(msg_str)
if cmd_split[0] == "set":
if cmd_split[1] in self.ss_map:
target = self.ss_map[cmd_split[1]]
state = cmd_split[2]
if target != None:
target.set_target_state(state)
else:
print "Unknown subsystem: " + cmd_split[1]
elif cmd_split[0] == "set_global":
if cmd_split[1] in self.global_state._states:
self.global_state._state_entry_time = time.time()
self.global_state._state = cmd_split[1]
else:
print "Unknown global state: " + cmd_split[1]
elif cmd_split[0] == "ack":
self.global_state.ack()
elif cmd_split[0] == "reload":
self.config.load()