diff --git a/components/event_store/service/event_logger.py b/components/event_store/service/event_logger.py index 5be2671..e998365 100644 --- a/components/event_store/service/event_logger.py +++ b/components/event_store/service/event_logger.py @@ -28,10 +28,25 @@ class EventLogger: def get_keys(self): return json.dumps([key.decode() for key in self.redis.keys()]) - def get_value_of(self, key): - key = self.redis.get(key) + def get_list_of(self, key): + """ + Returns a list of all elements inside a key. Most recent elements are stored first. + + @param key: DAF: or TV: for either DAF events or TV events + """ + key = self.redis.lrange(key, 0, -1) return key.decode() if key else json.dumps("") + def get_index_of(self, key, index): + """ + Returns element matching index in key. Most recent elements are stored first. + + @param key: DAF: or TV: for either DAF events or TV events + @param index: 0 for most recent + """ + key = self.redis.lindex(key, index) + return key.decode() if key else json.dump("") + def log(self, msg): try: msg = pickle.loads(msg) @@ -59,6 +74,6 @@ class EventLogger: to_log = str(msg) if self.log_to_redis: - self.redis.append(key, "{}
".format(to_log)) + self.redis.lpush(key, "{}".format(to_log)) if self.verbose: print(to_log) diff --git a/components/event_store/service/event_store_server.py b/components/event_store/service/event_store_server.py index 8736267..2c0969c 100644 --- a/components/event_store/service/event_store_server.py +++ b/components/event_store/service/event_store_server.py @@ -42,7 +42,12 @@ def api_get_keys(): @app.route("/api/keys//") def api_get_of_key(key): - return el.get_value_of(key) + return el.get_list_of(key) + + +@app.route("api/keys//") +def api_get_index_of_key(key, index): + return el.get_index_of(key, index) if __name__ == '__main__':