chg: [server UI v0.2] display if uuid is active

pull/8/head
Terrtia 2019-01-28 14:16:43 +01:00
parent 7144b56ad8
commit 69b9c12054
No known key found for this signature in database
GPG Key ID: 1E1B1F50D84613D0
4 changed files with 25 additions and 1 deletions

View File

@ -104,6 +104,7 @@ class Echo(Protocol, TimeoutMixin):
redis_server_stream.sadd('ended_session', self.session_uuid) redis_server_stream.sadd('ended_session', self.session_uuid)
self.setTimeout(None) self.setTimeout(None)
redis_server_stream.srem('active_connection:{}'.format(self.type), '{}:{}'.format(self.transport.client[0], self.uuid)) redis_server_stream.srem('active_connection:{}'.format(self.type), '{}:{}'.format(self.transport.client[0], self.uuid))
redis_server_stream.srem('active_connection', '{}'.format(self.uuid))
logger.debug('Connection closed: session_uuid={}'.format(self.session_uuid)) logger.debug('Connection closed: session_uuid={}'.format(self.session_uuid))
def unpack_header(self, data): def unpack_header(self, data):
@ -180,6 +181,7 @@ class Echo(Protocol, TimeoutMixin):
self.uuid = data_header['uuid_header'] self.uuid = data_header['uuid_header']
#active Connection #active Connection
redis_server_stream.sadd('active_connection:{}'.format(self.type), '{}:{}'.format(ip, self.uuid)) redis_server_stream.sadd('active_connection:{}'.format(self.type), '{}:{}'.format(ip, self.uuid))
redis_server_stream.sadd('active_connection', '{}'.format(self.uuid))
# Clean Error Message # Clean Error Message
redis_server_metadata.hdel('metadata_uuid:{}'.format(data_header['uuid_header']), 'Error') redis_server_metadata.hdel('metadata_uuid:{}'.format(data_header['uuid_header']), 'Error')

View File

@ -128,9 +128,14 @@ def sensors_status():
Error = "Blacklisted UUID" Error = "Blacklisted UUID"
else: else:
Error = redis_server_metadata.hget('metadata_uuid:{}'.format(result), 'Error') Error = redis_server_metadata.hget('metadata_uuid:{}'.format(result), 'Error')
if redis_server_stream.sismember('active_connection', result):
active_connection = True
else:
active_connection = False
if first_seen is not None and last_seen is not None: if first_seen is not None and last_seen is not None:
status_daily_uuid.append({"uuid": result,"first_seen": first_seen, "last_seen": last_seen, status_daily_uuid.append({"uuid": result,"first_seen": first_seen, "last_seen": last_seen,
"active_connection": active_connection,
"first_seen_gmt": first_seen_gmt, "last_seen_gmt": last_seen_gmt, "Error": Error}) "first_seen_gmt": first_seen_gmt, "last_seen_gmt": last_seen_gmt, "Error": Error})
return render_template("sensors_status.html", status_daily_uuid=status_daily_uuid) return render_template("sensors_status.html", status_daily_uuid=status_daily_uuid)
@ -181,6 +186,11 @@ def uuid_management():
"blacklisted_uuid": blacklisted_uuid, "blacklisted_ip_by_uuid": blacklisted_ip_by_uuid, "blacklisted_uuid": blacklisted_uuid, "blacklisted_ip_by_uuid": blacklisted_ip_by_uuid,
"first_seen_gmt": first_seen_gmt, "last_seen_gmt": last_seen_gmt, "Error": Error} "first_seen_gmt": first_seen_gmt, "last_seen_gmt": last_seen_gmt, "Error": Error}
if redis_server_stream.sismember('active_connection', uuid_sensor):
active_connection = True
else:
active_connection = False
max_uuid_stream = redis_server_metadata.hget('stream_max_size_by_uuid', uuid_sensor) max_uuid_stream = redis_server_metadata.hget('stream_max_size_by_uuid', uuid_sensor)
if max_uuid_stream is not None: if max_uuid_stream is not None:
max_uuid_stream = int(max_uuid_stream) max_uuid_stream = int(max_uuid_stream)
@ -197,7 +207,8 @@ def uuid_management():
ip, d_time = elem.split('-') ip, d_time = elem.split('-')
all_ip.append({'ip': ip,'datetime': '{}/{}/{} - {}:{}.{}'.format(d_time[0:4], d_time[5:6], d_time[6:8], d_time[8:10], d_time[10:12], d_time[12:14])}) all_ip.append({'ip': ip,'datetime': '{}/{}/{} - {}:{}.{}'.format(d_time[0:4], d_time[5:6], d_time[6:8], d_time[8:10], d_time[10:12], d_time[12:14])})
return render_template("uuid_management.html", uuid_sensor=uuid_sensor, uuid_key=uuid_key, data_uuid=data_uuid, max_uuid_stream=max_uuid_stream, all_ip=all_ip) return render_template("uuid_management.html", uuid_sensor=uuid_sensor, active_connection=active_connection,
uuid_key=uuid_key, data_uuid=data_uuid, max_uuid_stream=max_uuid_stream, all_ip=all_ip)
else: else:
return 'Invalid uuid' return 'Invalid uuid'

View File

@ -6,6 +6,7 @@
<link rel="icon" href="{{ url_for('static', filename='img/d4-logo.png')}}"> <link rel="icon" href="{{ url_for('static', filename='img/d4-logo.png')}}">
<!-- Core CSS --> <!-- Core CSS -->
<link href="{{ url_for('static', filename='css/bootstrap.min.css') }}" rel="stylesheet"> <link href="{{ url_for('static', filename='css/bootstrap.min.css') }}" rel="stylesheet">
<link href="{{ url_for('static', filename='font-awesome/css/font-awesome.css') }}" rel="stylesheet">
<!-- JS --> <!-- JS -->
<script src="{{ url_for('static', filename='js/jquery.js')}}"></script> <script src="{{ url_for('static', filename='js/jquery.js')}}"></script>
@ -76,6 +77,11 @@
<div class="card-body text-danger"> <div class="card-body text-danger">
<p class="card-text">{{row_uuid['Error']}}</p> <p class="card-text">{{row_uuid['Error']}}</p>
{% endif %} {% endif %}
{% if row_uuid['active_connection'] %}
<div style="color:Green; display:inline-block">
<i class="fa fa-check-circle"></i> Connected
</div>
{% endif %}
</div> </div>
</div> </div>
</div> </div>

View File

@ -69,6 +69,11 @@
<div class="card-body text-danger"> <div class="card-body text-danger">
<p class="card-text">{{data_uuid['Error']}}</p> <p class="card-text">{{data_uuid['Error']}}</p>
{% endif %} {% endif %}
{% if active_connection %}
<div style="color:Green; display:inline-block">
<i class="fa fa-check-circle"></i> Connected
</div>
{% endif %}
</div> </div>
</div> </div>
</div> </div>