mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-11 07:46:07 -07:00
Add IP address to sessions for PMS 0.9.14
This commit is contained in:
parent
fd9cf7017b
commit
80df8f6191
4 changed files with 22 additions and 15 deletions
|
@ -435,7 +435,7 @@ available_notification_agents = sorted(notifiers.available_notification_agents()
|
||||||
</label>
|
</label>
|
||||||
<span id="debugLogCheck" style="color: #eb8600; padding-left: 10px;"></span>
|
<span id="debugLogCheck" style="color: #eb8600; padding-left: 10px;"></span>
|
||||||
<p class="help-block">
|
<p class="help-block">
|
||||||
Enable this to attempt to log the IP address of the user.
|
Enable this to attempt to log the IP address of the user (for PMS 0.9.12 and below, IP address is automatically logged for PMS 0.9.14 and above).
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,7 @@ class ActivityProcessor(object):
|
||||||
'parent_title': session['parent_title'],
|
'parent_title': session['parent_title'],
|
||||||
'grandparent_title': session['grandparent_title'],
|
'grandparent_title': session['grandparent_title'],
|
||||||
'friendly_name': session['friendly_name'],
|
'friendly_name': session['friendly_name'],
|
||||||
|
'ip_address': session['ip_address'],
|
||||||
'player': session['player'],
|
'player': session['player'],
|
||||||
'platform': session['platform'],
|
'platform': session['platform'],
|
||||||
'parent_rating_key': session['parent_rating_key'],
|
'parent_rating_key': session['parent_rating_key'],
|
||||||
|
@ -78,16 +79,16 @@ class ActivityProcessor(object):
|
||||||
kwargs=dict(stream_data=values, notify_action='play')).start()
|
kwargs=dict(stream_data=values, notify_action='play')).start()
|
||||||
|
|
||||||
started = int(time.time())
|
started = int(time.time())
|
||||||
|
timestamp = {'started': started}
|
||||||
|
|
||||||
# Try and grab IP address from logs
|
# Try and grab IP address from logs (fallback if not on PMS 0.9.14 and above)
|
||||||
|
if not session['ip_address']:
|
||||||
if plexpy.CONFIG.IP_LOGGING_ENABLE and plexpy.CONFIG.PMS_LOGS_FOLDER:
|
if plexpy.CONFIG.IP_LOGGING_ENABLE and plexpy.CONFIG.PMS_LOGS_FOLDER:
|
||||||
ip_address = self.find_session_ip(rating_key=session['rating_key'],
|
ip_address = self.find_session_ip(rating_key=session['rating_key'],
|
||||||
machine_id=session['machine_id'])
|
machine_id=session['machine_id'])
|
||||||
|
timestamp.update({'ip_address': ip_address})
|
||||||
else:
|
else:
|
||||||
ip_address = None
|
timestamp.update({'ip_address': None})
|
||||||
|
|
||||||
timestamp = {'started': started,
|
|
||||||
'ip_address': ip_address}
|
|
||||||
|
|
||||||
# If it's our first write then time stamp it.
|
# If it's our first write then time stamp it.
|
||||||
self.db.upsert('sessions', timestamp, keys)
|
self.db.upsert('sessions', timestamp, keys)
|
||||||
|
|
|
@ -756,6 +756,7 @@ class PmsConnect(object):
|
||||||
'user_id': user_details['user_id'],
|
'user_id': user_details['user_id'],
|
||||||
'friendly_name': user_details['friendly_name'],
|
'friendly_name': user_details['friendly_name'],
|
||||||
'user_thumb': user_details['thumb'],
|
'user_thumb': user_details['thumb'],
|
||||||
|
'ip_address': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'address'),
|
||||||
'player': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'title'),
|
'player': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'title'),
|
||||||
'platform': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'platform'),
|
'platform': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'platform'),
|
||||||
'machine_id': machine_id,
|
'machine_id': machine_id,
|
||||||
|
@ -876,6 +877,7 @@ class PmsConnect(object):
|
||||||
'user_id': user_details['user_id'],
|
'user_id': user_details['user_id'],
|
||||||
'friendly_name': user_details['friendly_name'],
|
'friendly_name': user_details['friendly_name'],
|
||||||
'user_thumb': user_details['thumb'],
|
'user_thumb': user_details['thumb'],
|
||||||
|
'ip_address': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'address'),
|
||||||
'player': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'title'),
|
'player': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'title'),
|
||||||
'platform': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'platform'),
|
'platform': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'platform'),
|
||||||
'machine_id': machine_id,
|
'machine_id': machine_id,
|
||||||
|
@ -932,6 +934,7 @@ class PmsConnect(object):
|
||||||
'user_id': user_details['user_id'],
|
'user_id': user_details['user_id'],
|
||||||
'friendly_name': user_details['friendly_name'],
|
'friendly_name': user_details['friendly_name'],
|
||||||
'user_thumb': user_details['thumb'],
|
'user_thumb': user_details['thumb'],
|
||||||
|
'ip_address': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'address'),
|
||||||
'player': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'title'),
|
'player': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'title'),
|
||||||
'platform': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'platform'),
|
'platform': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'platform'),
|
||||||
'machine_id': machine_id,
|
'machine_id': machine_id,
|
||||||
|
@ -988,6 +991,7 @@ class PmsConnect(object):
|
||||||
'user_id': user_details['user_id'],
|
'user_id': user_details['user_id'],
|
||||||
'friendly_name': user_details['friendly_name'],
|
'friendly_name': user_details['friendly_name'],
|
||||||
'user_thumb': user_details['thumb'],
|
'user_thumb': user_details['thumb'],
|
||||||
|
'ip_address': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'address'),
|
||||||
'player': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'title'),
|
'player': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'title'),
|
||||||
'platform': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'platform'),
|
'platform': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'platform'),
|
||||||
'machine_id': machine_id,
|
'machine_id': machine_id,
|
||||||
|
@ -1077,6 +1081,7 @@ class PmsConnect(object):
|
||||||
'user_id': user_details['user_id'],
|
'user_id': user_details['user_id'],
|
||||||
'friendly_name': user_details['friendly_name'],
|
'friendly_name': user_details['friendly_name'],
|
||||||
'user_thumb': user_details['thumb'],
|
'user_thumb': user_details['thumb'],
|
||||||
|
'ip_address': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'address'),
|
||||||
'player': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'title'),
|
'player': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'title'),
|
||||||
'platform': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'platform'),
|
'platform': helpers.get_xml_attr(session.getElementsByTagName('Player')[0], 'platform'),
|
||||||
'machine_id': machine_id,
|
'machine_id': machine_id,
|
||||||
|
|
|
@ -711,15 +711,16 @@ class WebInterface(object):
|
||||||
try:
|
try:
|
||||||
pms_connect = pmsconnect.PmsConnect()
|
pms_connect = pmsconnect.PmsConnect()
|
||||||
result = pms_connect.get_current_activity()
|
result = pms_connect.get_current_activity()
|
||||||
|
|
||||||
|
data_factory = datafactory.DataFactory()
|
||||||
|
for session in result['sessions']:
|
||||||
|
if not session['ip_address']:
|
||||||
|
ip_address = data_factory.get_session_ip(session['session_key'])
|
||||||
|
session['ip_address'] = ip_address
|
||||||
except:
|
except:
|
||||||
return serve_template(templatename="current_activity.html", data=None)
|
return serve_template(templatename="current_activity.html", data=None)
|
||||||
|
|
||||||
if result:
|
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)
|
return serve_template(templatename="current_activity.html", data=result)
|
||||||
else:
|
else:
|
||||||
logger.warn('Unable to retrieve data.')
|
logger.warn('Unable to retrieve data.')
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue