mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-07 05:31:15 -07:00
Some sync data updates
This commit is contained in:
parent
9b4b3e0ecb
commit
edc0b96167
4 changed files with 22 additions and 13 deletions
|
@ -47,7 +47,7 @@ sync_table_options = {
|
|||
},
|
||||
{
|
||||
"targets": [2],
|
||||
"data": "friendly_name",
|
||||
"data": "user",
|
||||
"createdCell": function (td, cellData, rowData, row, col) {
|
||||
if (cellData !== '') {
|
||||
if (rowData['user_id']) {
|
||||
|
@ -63,7 +63,7 @@ sync_table_options = {
|
|||
},
|
||||
{
|
||||
"targets": [3],
|
||||
"data": "title",
|
||||
"data": "sync_title",
|
||||
"createdCell": function (td, cellData, rowData, row, col) {
|
||||
if (cellData !== '') {
|
||||
if (rowData['metadata_type'] !== '') {
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
<th align="left" id="delete_row">Delete</th>
|
||||
<th align="left" id="state">State</th>
|
||||
<th align="left" id="user">User</th>
|
||||
<th align="left" id="title">Title</th>
|
||||
<th align="left" id="sync_title">Title</th>
|
||||
<th align="left" id="type">Type</th>
|
||||
<th align="left" id="platform">Platform</th>
|
||||
<th align="left" id="device">Device</th>
|
||||
|
|
|
@ -370,7 +370,12 @@ class PlexTV(object):
|
|||
|
||||
return users_list
|
||||
|
||||
def get_synced_items(self, machine_id=None, client_id_filter=None, user_id_filter=None, rating_key_filter=None):
|
||||
def get_synced_items(self, machine_id=None, client_id_filter=None, user_id_filter=None,
|
||||
rating_key_filter=None, sync_id_filter=None):
|
||||
|
||||
if machine_id is None:
|
||||
machine_id = plexpy.CONFIG.PMS_IDENTIFIER
|
||||
|
||||
sync_list = self.get_plextv_sync_lists(machine_id, output_format='xml')
|
||||
user_data = users.Users()
|
||||
|
||||
|
@ -386,10 +391,10 @@ class PlexTV(object):
|
|||
client_id = helpers.get_xml_attr(a, 'clientIdentifier')
|
||||
|
||||
# Filter by client_id
|
||||
if client_id_filter and client_id_filter != client_id:
|
||||
if client_id_filter and str(client_id_filter) != client_id:
|
||||
continue
|
||||
|
||||
sync_id = helpers.get_xml_attr(a, 'id')
|
||||
sync_list_id = helpers.get_xml_attr(a, 'id')
|
||||
sync_device = a.getElementsByTagName('Device')
|
||||
|
||||
for device in sync_device:
|
||||
|
@ -410,7 +415,7 @@ class PlexTV(object):
|
|||
device_last_seen = helpers.get_xml_attr(device, 'lastSeenAt')
|
||||
|
||||
# Filter by user_id
|
||||
if user_id_filter and user_id_filter != device_user_id:
|
||||
if user_id_filter and str(user_id_filter) != device_user_id:
|
||||
continue
|
||||
|
||||
for synced in a.getElementsByTagName('SyncItems'):
|
||||
|
@ -424,10 +429,15 @@ class PlexTV(object):
|
|||
for idx, item in enumerate(clean_uri) if item == 'metadata'), None)
|
||||
|
||||
# Filter by rating_key
|
||||
if rating_key_filter and rating_key_filter != rating_key:
|
||||
if rating_key_filter and str(rating_key_filter) != rating_key:
|
||||
continue
|
||||
|
||||
sync_id = helpers.get_xml_attr(item, 'id')
|
||||
|
||||
# Filter by sync_id
|
||||
if sync_id_filter and str(sync_id_filter) != sync_id:
|
||||
continue
|
||||
|
||||
sync_version = helpers.get_xml_attr(item, 'version')
|
||||
sync_root_title = helpers.get_xml_attr(item, 'rootTitle')
|
||||
sync_title = helpers.get_xml_attr(item, 'title')
|
||||
|
@ -457,11 +467,11 @@ class PlexTV(object):
|
|||
|
||||
sync_details = {"device_name": helpers.sanitize(device_name),
|
||||
"platform": helpers.sanitize(device_platform),
|
||||
"username": helpers.sanitize(device_username),
|
||||
"friendly_name": helpers.sanitize(device_friendly_name),
|
||||
"user_id": device_user_id,
|
||||
"user": helpers.sanitize(device_friendly_name),
|
||||
"username": helpers.sanitize(device_username),
|
||||
"root_title": helpers.sanitize(sync_root_title),
|
||||
"title": helpers.sanitize(sync_title),
|
||||
"sync_title": helpers.sanitize(sync_title),
|
||||
"metadata_type": sync_metadata_type,
|
||||
"content_type": sync_content_type,
|
||||
"rating_key": rating_key,
|
||||
|
|
|
@ -1411,8 +1411,7 @@ class PmsConnect(object):
|
|||
if media_type not in ('photo', 'clip') and not session.getElementsByTagName('Session') \
|
||||
and helpers.get_xml_attr(session, 'ratingKey').isdigit() and transcode_decision == 'direct play':
|
||||
plex_tv = plextv.PlexTV()
|
||||
synced_items = plex_tv.get_synced_items(machine_id=plexpy.CONFIG.PMS_IDENTIFIER,
|
||||
client_id_filter=player_details['machine_id'],
|
||||
synced_items = plex_tv.get_synced_items(client_id_filter=player_details['machine_id'],
|
||||
rating_key_filter=rating_key)
|
||||
if synced_items:
|
||||
sync_id = synced_items[0]['sync_id']
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue