Add endpoints for retrieving most recent events
This commit is contained in:
parent
d362f188a2
commit
1bed201f21
@ -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:<VIN> or TV:<VIN> 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:<VIN> or TV:<VIN> 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, "{}<br>".format(to_log))
|
||||
self.redis.lpush(key, "{}".format(to_log))
|
||||
if self.verbose:
|
||||
print(to_log)
|
||||
|
||||
@ -42,7 +42,12 @@ def api_get_keys():
|
||||
|
||||
@app.route("/api/keys/<key>/")
|
||||
def api_get_of_key(key):
|
||||
return el.get_value_of(key)
|
||||
return el.get_list_of(key)
|
||||
|
||||
|
||||
@app.route("api/keys/<key>/<index>")
|
||||
def api_get_index_of_key(key, index):
|
||||
return el.get_index_of(key, index)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user