Some sync data updates

This commit is contained in:
JonnyWong16 2017-12-30 23:21:31 -08:00
parent 9b4b3e0ecb
commit edc0b96167
4 changed files with 22 additions and 13 deletions

View file

@ -47,7 +47,7 @@ sync_table_options = {
}, },
{ {
"targets": [2], "targets": [2],
"data": "friendly_name", "data": "user",
"createdCell": function (td, cellData, rowData, row, col) { "createdCell": function (td, cellData, rowData, row, col) {
if (cellData !== '') { if (cellData !== '') {
if (rowData['user_id']) { if (rowData['user_id']) {
@ -63,7 +63,7 @@ sync_table_options = {
}, },
{ {
"targets": [3], "targets": [3],
"data": "title", "data": "sync_title",
"createdCell": function (td, cellData, rowData, row, col) { "createdCell": function (td, cellData, rowData, row, col) {
if (cellData !== '') { if (cellData !== '') {
if (rowData['metadata_type'] !== '') { if (rowData['metadata_type'] !== '') {

View file

@ -40,7 +40,7 @@
<th align="left" id="delete_row">Delete</th> <th align="left" id="delete_row">Delete</th>
<th align="left" id="state">State</th> <th align="left" id="state">State</th>
<th align="left" id="user">User</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="type">Type</th>
<th align="left" id="platform">Platform</th> <th align="left" id="platform">Platform</th>
<th align="left" id="device">Device</th> <th align="left" id="device">Device</th>

View file

@ -370,7 +370,12 @@ class PlexTV(object):
return users_list 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') sync_list = self.get_plextv_sync_lists(machine_id, output_format='xml')
user_data = users.Users() user_data = users.Users()
@ -386,10 +391,10 @@ class PlexTV(object):
client_id = helpers.get_xml_attr(a, 'clientIdentifier') client_id = helpers.get_xml_attr(a, 'clientIdentifier')
# Filter by client_id # 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 continue
sync_id = helpers.get_xml_attr(a, 'id') sync_list_id = helpers.get_xml_attr(a, 'id')
sync_device = a.getElementsByTagName('Device') sync_device = a.getElementsByTagName('Device')
for device in sync_device: for device in sync_device:
@ -410,7 +415,7 @@ class PlexTV(object):
device_last_seen = helpers.get_xml_attr(device, 'lastSeenAt') device_last_seen = helpers.get_xml_attr(device, 'lastSeenAt')
# Filter by user_id # 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 continue
for synced in a.getElementsByTagName('SyncItems'): for synced in a.getElementsByTagName('SyncItems'):
@ -424,10 +429,15 @@ class PlexTV(object):
for idx, item in enumerate(clean_uri) if item == 'metadata'), None) for idx, item in enumerate(clean_uri) if item == 'metadata'), None)
# Filter by rating_key # 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 continue
sync_id = helpers.get_xml_attr(item, 'id') 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_version = helpers.get_xml_attr(item, 'version')
sync_root_title = helpers.get_xml_attr(item, 'rootTitle') sync_root_title = helpers.get_xml_attr(item, 'rootTitle')
sync_title = helpers.get_xml_attr(item, 'title') sync_title = helpers.get_xml_attr(item, 'title')
@ -457,11 +467,11 @@ class PlexTV(object):
sync_details = {"device_name": helpers.sanitize(device_name), sync_details = {"device_name": helpers.sanitize(device_name),
"platform": helpers.sanitize(device_platform), "platform": helpers.sanitize(device_platform),
"username": helpers.sanitize(device_username),
"friendly_name": helpers.sanitize(device_friendly_name),
"user_id": device_user_id, "user_id": device_user_id,
"user": helpers.sanitize(device_friendly_name),
"username": helpers.sanitize(device_username),
"root_title": helpers.sanitize(sync_root_title), "root_title": helpers.sanitize(sync_root_title),
"title": helpers.sanitize(sync_title), "sync_title": helpers.sanitize(sync_title),
"metadata_type": sync_metadata_type, "metadata_type": sync_metadata_type,
"content_type": sync_content_type, "content_type": sync_content_type,
"rating_key": rating_key, "rating_key": rating_key,

View file

@ -1411,8 +1411,7 @@ class PmsConnect(object):
if media_type not in ('photo', 'clip') and not session.getElementsByTagName('Session') \ 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': and helpers.get_xml_attr(session, 'ratingKey').isdigit() and transcode_decision == 'direct play':
plex_tv = plextv.PlexTV() plex_tv = plextv.PlexTV()
synced_items = plex_tv.get_synced_items(machine_id=plexpy.CONFIG.PMS_IDENTIFIER, synced_items = plex_tv.get_synced_items(client_id_filter=player_details['machine_id'],
client_id_filter=player_details['machine_id'],
rating_key_filter=rating_key) rating_key_filter=rating_key)
if synced_items: if synced_items:
sync_id = synced_items[0]['sync_id'] sync_id = synced_items[0]['sync_id']