From 60c6698495c1e8206ad210c7b4618331f20fe384 Mon Sep 17 00:00:00 2001 From: Fabian Date: Sat, 4 Apr 2020 13:53:26 +0200 Subject: [PATCH] comments added --- consumer_api/views/consumers_view.py | 4 +++- consumer_api/views/log_view.py | 3 +++ consumer_api/views/sync_view.py | 12 +++++++----- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/consumer_api/views/consumers_view.py b/consumer_api/views/consumers_view.py index 0582bc4..8c03a07 100644 --- a/consumer_api/views/consumers_view.py +++ b/consumer_api/views/consumers_view.py @@ -8,6 +8,8 @@ from flask_classful import FlaskView class ConsumersView(FlaskView): def get(self): + # load the currently available consumer list from the redis database consumer_list = json.loads((redis_client.get("consumer_list") or b"{}").decode('utf-8')) - current_app.logger.warning(jsonify([v['ip'] for k, v in consumer_list.items()])) + + # jsonify and return the list of active consumers return jsonify([v['ip'] for k, v in consumer_list.items()]) diff --git a/consumer_api/views/log_view.py b/consumer_api/views/log_view.py index abfff93..470b16b 100644 --- a/consumer_api/views/log_view.py +++ b/consumer_api/views/log_view.py @@ -5,5 +5,8 @@ from flask_classful import FlaskView class LogView(FlaskView): def post(self): + # display received message current_app.logger.info(f"New message: {request.json['message']}") + + # return HTTP 204 - No content message return Response(status = 204) diff --git a/consumer_api/views/sync_view.py b/consumer_api/views/sync_view.py index a6f8eb5..3c2f771 100644 --- a/consumer_api/views/sync_view.py +++ b/consumer_api/views/sync_view.py @@ -1,7 +1,7 @@ import json from flask import request, current_app, jsonify from flask_classful import FlaskView -from db import redis_client # ez nagyon otvar +from db import redis_client class SyncView(FlaskView): @@ -10,23 +10,25 @@ class SyncView(FlaskView): remote_uuid = request.json['uuid'] remote_ip = request.remote_addr + # load the currently available consumer list from the redis database consumer_list = json.loads((redis_client.get("consumer_list") or b"{}").decode('utf-8')) - # Log something about it if remote_uuid not in consumer_list.keys(): + # display newly registered consumer current_app.logger.info(f"New consumer registered (unknown UUID): {remote_uuid} at {remote_ip}") - else: # known + else: if consumer_list[remote_uuid]['ip'] != remote_ip: + # log address changes current_app.logger.info(f"Address of consumer {remote_uuid} changed to {remote_ip}") + # update consumer list redis databasse consumer_list.update( {remote_uuid: {"ip": remote_ip}} ) - redis_client.set("consumer_list", json.dumps(consumer_list).encode('utf-8')) + # return with the current UUID response = { "uuid": current_app.config['LOCAL_UUID'] } - return jsonify(response)