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):
|
def get_keys(self):
|
||||||
return json.dumps([key.decode() for key in self.redis.keys()])
|
return json.dumps([key.decode() for key in self.redis.keys()])
|
||||||
|
|
||||||
def get_value_of(self, key):
|
def get_list_of(self, key):
|
||||||
key = self.redis.get(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("")
|
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):
|
def log(self, msg):
|
||||||
try:
|
try:
|
||||||
msg = pickle.loads(msg)
|
msg = pickle.loads(msg)
|
||||||
@ -59,6 +74,6 @@ class EventLogger:
|
|||||||
to_log = str(msg)
|
to_log = str(msg)
|
||||||
|
|
||||||
if self.log_to_redis:
|
if self.log_to_redis:
|
||||||
self.redis.append(key, "{}<br>".format(to_log))
|
self.redis.lpush(key, "{}".format(to_log))
|
||||||
if self.verbose:
|
if self.verbose:
|
||||||
print(to_log)
|
print(to_log)
|
||||||
|
|||||||
@ -42,7 +42,12 @@ def api_get_keys():
|
|||||||
|
|
||||||
@app.route("/api/keys/<key>/")
|
@app.route("/api/keys/<key>/")
|
||||||
def api_get_of_key(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__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user