diff --git a/plexpy/datafactory.py b/plexpy/datafactory.py index 6eda7dcf..95d9d6a8 100644 --- a/plexpy/datafactory.py +++ b/plexpy/datafactory.py @@ -856,7 +856,9 @@ class DataFactory(object): media_type = 'artist' if query_string and media_type: - query = {'query_string': query_string.replace('"', ''), + query_string = query_string.replace('"', '') + query_string = query_string.replace(u"’", u"'") + query = {'query_string': query_string, 'title': title, 'parent_title': parent_title, 'grandparent_title': grandparent_title, @@ -962,6 +964,14 @@ class DataFactory(object): if mapping: logger.info(u"PlexPy DataFactory :: Updating rating keys in the database.") for old_key, new_key in mapping.iteritems(): + # check library_id (1 table) + monitor_db.action('UPDATE session_history_metadata SET library_id = ? WHERE rating_key = ?', + [new_key_list['library_id'], old_key]) + + # check library_title (1 table) + monitor_db.action('UPDATE session_history_metadata SET library_title = ? WHERE rating_key = ?', + [new_key_list['library_title'], old_key]) + # check rating_key (3 tables) monitor_db.action('UPDATE session_history SET rating_key = ? WHERE rating_key = ?', [new_key, old_key]) @@ -1006,7 +1016,7 @@ class DataFactory(object): else: return 'No updated rating key needed in database. No changes were made.' # for debugging - #return mapping #return mapping + #return mapping def update_library_ids(self): from plexpy import pmsconnect diff --git a/plexpy/pmsconnect.py b/plexpy/pmsconnect.py index 65ef5321..5a3685aa 100644 --- a/plexpy/pmsconnect.py +++ b/plexpy/pmsconnect.py @@ -1348,7 +1348,8 @@ class PmsConnect(object): continue if library_list['library_count'] != '0': - library_stats = {'title': library['title'], + library_stats = {'key': library['key'], + 'title': library['title'], 'thumb': library['thumb'], 'count': library_list['library_count'], 'count_type': library_list['count_type'] @@ -1513,6 +1514,8 @@ class PmsConnect(object): try: metadata = self.get_metadata_details(rating_key=rating_key) rating_key = metadata['metadata']['parent_rating_key'] + library_id = metadata['metadata']['library_id'] + library_title = metadata['metadata']['library_title'] except: logger.warn("Unable to get parent_rating_key for get_rating_keys_list.") return {} @@ -1521,6 +1524,8 @@ class PmsConnect(object): try: metadata = self.get_metadata_details(rating_key=rating_key) rating_key = metadata['metadata']['grandparent_rating_key'] + library_id = metadata['metadata']['library_id'] + library_title = metadata['metadata']['library_title'] except: logger.warn("Unable to get grandparent_rating_key for get_rating_keys_list.") return {} @@ -1593,7 +1598,9 @@ class PmsConnect(object): key = 0 if match_type == 'index' else title key_list = {key: {'rating_key': int(rating_key), - 'children': parents} + 'children': parents}, + 'library_id': library_id, + 'library_title': library_title } return key_list \ No newline at end of file