Skip to content
Snippets Groups Projects
Commit ecc8909c authored by David Trattnig's avatar David Trattnig
Browse files

Get status via CMD.

parent a8f74893
No related branches found
No related tags found
No related merge requests found
...@@ -113,6 +113,7 @@ class Guru(): ...@@ -113,6 +113,7 @@ class Guru():
self.parser.add_argument("-gam", "--get-active-mixer", action="store_true", dest="get_active_mixer", default=False, help="Which mixer is activated?") self.parser.add_argument("-gam", "--get-active-mixer", action="store_true", dest="get_active_mixer", default=False, help="Which mixer is activated?")
self.parser.add_argument("-pms", "--print-mixer-status", action="store_true", dest="get_mixer_status", default=False, help="Prints all mixer sources and their states") self.parser.add_argument("-pms", "--print-mixer-status", action="store_true", dest="get_mixer_status", default=False, help="Prints all mixer sources and their states")
self.parser.add_argument("-pap", "--print-act-programme", action="store_true", dest="get_act_programme", default=False, help="Prints the actual Programme, the controller holds") self.parser.add_argument("-pap", "--print-act-programme", action="store_true", dest="get_act_programme", default=False, help="Prints the actual Programme, the controller holds")
self.parser.add_argument("-s", "--status", action="store_true", dest="get_status", default=False, help="Returns the Engine Status as JSON")
# liquid manipulation # liquid manipulation
self.parser.add_argument("-am", "--select-mixer", action="store", dest="select_mixer", default=-1, metavar="MIXERNAME", help="Which mixer should be activated?") self.parser.add_argument("-am", "--select-mixer", action="store", dest="select_mixer", default=-1, metavar="MIXERNAME", help="Which mixer should be activated?")
......
...@@ -32,6 +32,7 @@ class RedisChannel(Enum): ...@@ -32,6 +32,7 @@ class RedisChannel(Enum):
DPE_REPLY = "delete_playlist_entry_reply" DPE_REPLY = "delete_playlist_entry_reply"
FNP_REPLY = "fetch_new_programme_reply" FNP_REPLY = "fetch_new_programme_reply"
GAP_REPLY = "get_act_programme_reply" GAP_REPLY = "get_act_programme_reply"
GS_REPLY = "get_status_reply"
GCS_REPLY = "get_connection_status_reply" GCS_REPLY = "get_connection_status_reply"
GNF_REPLY = "get_next_file_reply" GNF_REPLY = "get_next_file_reply"
IPE_REPLY = "insert_playlist_entry_reply" IPE_REPLY = "insert_playlist_entry_reply"
......
...@@ -59,6 +59,9 @@ class Padavan: ...@@ -59,6 +59,9 @@ class Padavan:
elif self.args.get_act_programme: elif self.args.get_act_programme:
self.get_act_programme() self.get_act_programme()
elif self.args.get_status:
self.get_status()
elif self.args.get_connection_status: elif self.args.get_connection_status:
self.get_connection_status() self.get_connection_status()
...@@ -155,6 +158,16 @@ class Padavan: ...@@ -155,6 +158,16 @@ class Padavan:
actprogramme = json.loads(json_reply) actprogramme = json.loads(json_reply)
self.print_programme(actprogramme) self.print_programme(actprogramme)
def get_status(self):
"""
Retrieves the Engine's status information.
"""
json_reply = self.send_and_wait_redis("aura", "get_status", RedisChannel.GS_REPLY)
# status = json.loads(json_reply)
self.stringreply = json_reply
# ------------------------------------------------------------------------------------------ # # ------------------------------------------------------------------------------------------ #
def get_connection_status(self): def get_connection_status(self):
json_reply = self.send_and_wait_redis("aura", "get_connection_status", RedisChannel.GCS_REPLY) json_reply = self.send_and_wait_redis("aura", "get_connection_status", RedisChannel.GCS_REPLY)
......
...@@ -156,6 +156,13 @@ class ServerRedisAdapter(threading.Thread, RedisMessenger): ...@@ -156,6 +156,13 @@ class ServerRedisAdapter(threading.Thread, RedisMessenger):
elif item["data"] == "get_act_programme": elif item["data"] == "get_act_programme":
self.execute(RedisChannel.GAP_REPLY.value, self.scheduler.get_act_programme_as_string) self.execute(RedisChannel.GAP_REPLY.value, self.scheduler.get_act_programme_as_string)
elif item["data"] == "get_status":
def get_status_string():
status = self.soundsystem.monitoring.get_status()
return str(status)
self.execute(RedisChannel.GS_REPLY.value, get_status_string)
# elif item["data"] == "get_connection_status": # elif item["data"] == "get_connection_status":
# self.execute(RedisChannel.GCS_REPLY.value, self.connection_tester.get_connection_status) # self.execute(RedisChannel.GCS_REPLY.value, self.connection_tester.get_connection_status)
...@@ -179,8 +186,6 @@ class ServerRedisAdapter(threading.Thread, RedisMessenger): ...@@ -179,8 +186,6 @@ class ServerRedisAdapter(threading.Thread, RedisMessenger):
elif item["data"] == "recreate_db": elif item["data"] == "recreate_db":
self.execute(RedisChannel.RDB_REPLY.value, self.scheduler.recreate_database) self.execute(RedisChannel.RDB_REPLY.value, self.scheduler.recreate_database)
elif item["data"] == "status":
return True
else: else:
raise RedisConnectionException("ServerRedisAdapter Cannot understand command: " + item["data"]) raise RedisConnectionException("ServerRedisAdapter Cannot understand command: " + item["data"])
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment