diff --git a/data/interfaces/default/css/plexpy.css b/data/interfaces/default/css/plexpy.css index 14cd9c60..2571667a 100644 --- a/data/interfaces/default/css/plexpy.css +++ b/data/interfaces/default/css/plexpy.css @@ -688,6 +688,14 @@ a:hover .dashboard-activity-poster { white-space: nowrap; width: 150px; } +.dashboard-activity-poster-info-ip-address { + position: absolute; + bottom: 5px; + left: 10px; + text-align: left; + font-size: 12px; + color: #eee; +} .dashboard-activity-poster-info-time { position: absolute; bottom: 5px; diff --git a/data/interfaces/default/current_activity.html b/data/interfaces/default/current_activity.html index b118d47f..af8ae85b 100644 --- a/data/interfaces/default/current_activity.html +++ b/data/interfaces/default/current_activity.html @@ -191,6 +191,9 @@ DOCUMENTATION :: END % if a['media_type'] != 'photo':
+
+ IP: ${a['ip_address']} +
${a['view_offset']}/${a['duration']}
diff --git a/plexpy/datafactory.py b/plexpy/datafactory.py index b03d1c64..28d09ebb 100644 --- a/plexpy/datafactory.py +++ b/plexpy/datafactory.py @@ -998,4 +998,21 @@ class DataFactory(object): else: return 'No updated rating key needed in database. No changes were made.' # for debugging - #return mapping \ No newline at end of file + #return mapping + + def get_session_ip(self, session_key=''): + monitor_db = database.MonitorDatabase() + + if session_key: + query = 'SELECT CASE WHEN ip_address IS NULL THEN "N/A" ELSE ip_address END ' \ + 'FROM sessions WHERE session_key = %d' % int(session_key) + result = monitor_db.select(query) + else: + return None + + ip_address = 'N/A' + + for item in result: + ip_address = item[0] + + return ip_address diff --git a/plexpy/webserve.py b/plexpy/webserve.py index 7c2a7986..7b93500a 100644 --- a/plexpy/webserve.py +++ b/plexpy/webserve.py @@ -715,6 +715,11 @@ class WebInterface(object): return serve_template(templatename="current_activity.html", data=None) if result: + data_factory = datafactory.DataFactory() + for session in result['sessions']: + ip_address = data_factory.get_session_ip(session['session_key']) + session['ip_address'] = ip_address + return serve_template(templatename="current_activity.html", data=result) else: logger.warn('Unable to retrieve data.')