mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-10 23:42:37 -07:00
Fix Pushover notification bug which would display blank api token field.
Fix PlexWatch db importer to not bomb out if it finds characters in the rating key it cannot decode. Fix PlexWatch db importer to use the correct plexWatch columns for titles, instead of the messed up xml.
This commit is contained in:
parent
b394ebc1a3
commit
5a9257074b
2 changed files with 11 additions and 10 deletions
|
@ -858,7 +858,7 @@ class PUSHOVER(object):
|
||||||
'input_type': 'number'
|
'input_type': 'number'
|
||||||
},
|
},
|
||||||
{'label': 'API Token',
|
{'label': 'API Token',
|
||||||
'value': self.priority,
|
'value': plexpy.CONFIG.PUSHOVER_APITOKEN,
|
||||||
'name': 'pushover_apitoken',
|
'name': 'pushover_apitoken',
|
||||||
'description': 'Leave blank to use PlexPy default.',
|
'description': 'Leave blank to use PlexPy default.',
|
||||||
'input_type': 'text'
|
'input_type': 'text'
|
||||||
|
|
|
@ -226,6 +226,7 @@ def import_from_plexwatch(database=None, table_name=None, import_ignore_interval
|
||||||
|
|
||||||
try:
|
try:
|
||||||
connection = sqlite3.connect(database, timeout=20)
|
connection = sqlite3.connect(database, timeout=20)
|
||||||
|
cur = connection.cursor()
|
||||||
except sqlite3.OperationalError:
|
except sqlite3.OperationalError:
|
||||||
logger.error('PlexPy Importer :: Invalid filename.')
|
logger.error('PlexPy Importer :: Invalid filename.')
|
||||||
return None
|
return None
|
||||||
|
@ -256,7 +257,7 @@ def import_from_plexwatch(database=None, table_name=None, import_ignore_interval
|
||||||
|
|
||||||
query = 'SELECT time AS started, ' \
|
query = 'SELECT time AS started, ' \
|
||||||
'stopped, ' \
|
'stopped, ' \
|
||||||
'ratingKey AS rating_key, ' \
|
'cast(ratingKey as text) AS rating_key, ' \
|
||||||
'null AS user_id, ' \
|
'null AS user_id, ' \
|
||||||
'user, ' \
|
'user, ' \
|
||||||
'ip_address, ' \
|
'ip_address, ' \
|
||||||
|
@ -276,7 +277,7 @@ def import_from_plexwatch(database=None, table_name=None, import_ignore_interval
|
||||||
'orig_title_ep AS grandparent_title ' \
|
'orig_title_ep AS grandparent_title ' \
|
||||||
'FROM ' + table_name + ' ORDER BY id'
|
'FROM ' + table_name + ' ORDER BY id'
|
||||||
|
|
||||||
result = connection.execute(query)
|
result = cur.execute(query)
|
||||||
|
|
||||||
for row in result:
|
for row in result:
|
||||||
# Extract the xml from the Plexwatch db xml field.
|
# Extract the xml from the Plexwatch db xml field.
|
||||||
|
@ -291,9 +292,9 @@ def import_from_plexwatch(database=None, table_name=None, import_ignore_interval
|
||||||
session_history = {'started': row[0],
|
session_history = {'started': row[0],
|
||||||
'stopped': row[1],
|
'stopped': row[1],
|
||||||
'rating_key': row[2],
|
'rating_key': row[2],
|
||||||
'title': extracted_xml['title'],
|
'title': row[18],
|
||||||
'parent_title': extracted_xml['parent_title'],
|
'parent_title': extracted_xml['parent_title'],
|
||||||
'grandparent_title': extracted_xml['grandparent_title'],
|
'grandparent_title': row[19],
|
||||||
'user_id': user_id,
|
'user_id': user_id,
|
||||||
'user': row[4],
|
'user': row[4],
|
||||||
'ip_address': row[5],
|
'ip_address': row[5],
|
||||||
|
@ -327,12 +328,12 @@ def import_from_plexwatch(database=None, table_name=None, import_ignore_interval
|
||||||
'transcode_height': extracted_xml['transcode_height']
|
'transcode_height': extracted_xml['transcode_height']
|
||||||
}
|
}
|
||||||
|
|
||||||
session_history_metadata = {'rating_key': row[2],
|
session_history_metadata = {'rating_key': helpers.latinToAscii(row[2]),
|
||||||
'parent_rating_key': row[10],
|
'parent_rating_key': row[10],
|
||||||
'grandparent_rating_key': row[11],
|
'grandparent_rating_key': row[11],
|
||||||
'title': extracted_xml['title'],
|
'title': row[18],
|
||||||
'parent_title': extracted_xml['parent_title'],
|
'parent_title': extracted_xml['parent_title'],
|
||||||
'grandparent_title': extracted_xml['grandparent_title'],
|
'grandparent_title': row[19],
|
||||||
'index': extracted_xml['media_index'],
|
'index': extracted_xml['media_index'],
|
||||||
'parent_index': extracted_xml['parent_media_index'],
|
'parent_index': extracted_xml['parent_media_index'],
|
||||||
'thumb': extracted_xml['thumb'],
|
'thumb': extracted_xml['thumb'],
|
||||||
|
@ -360,13 +361,13 @@ def import_from_plexwatch(database=None, table_name=None, import_ignore_interval
|
||||||
|
|
||||||
# On older versions of PMS, "clip" items were still classified as "movie" and had bad ratingKey values
|
# On older versions of PMS, "clip" items were still classified as "movie" and had bad ratingKey values
|
||||||
# Just make sure that the ratingKey is indeed an integer
|
# Just make sure that the ratingKey is indeed an integer
|
||||||
if str(row[2]).isdigit():
|
if session_history_metadata['rating_key'].isdigit():
|
||||||
monitor_processing.write_session_history(session=session_history,
|
monitor_processing.write_session_history(session=session_history,
|
||||||
import_metadata=session_history_metadata,
|
import_metadata=session_history_metadata,
|
||||||
is_import=True,
|
is_import=True,
|
||||||
import_ignore_interval=import_ignore_interval)
|
import_ignore_interval=import_ignore_interval)
|
||||||
else:
|
else:
|
||||||
logger.debug(u"PlexPy Importer :: Item has bad rating_key: %s" % str(row[2]))
|
logger.debug(u"PlexPy Importer :: Item has bad rating_key: %s" % session_history_metadata['rating_key'])
|
||||||
|
|
||||||
logger.debug(u"PlexPy Importer :: PlexWatch data import complete.")
|
logger.debug(u"PlexPy Importer :: PlexWatch data import complete.")
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue