diff --git a/plexpy/__init__.py b/plexpy/__init__.py index 3d53816d..3005597d 100644 --- a/plexpy/__init__.py +++ b/plexpy/__init__.py @@ -15,6 +15,7 @@ import os from Queue import Queue +import shutil import sqlite3 import sys import subprocess @@ -156,6 +157,16 @@ def initialize(config_file): except OSError as e: logger.error(u"Could not create cache dir '%s': %s" % (CONFIG.CACHE_DIR, e)) + if CONFIG.CACHE_DIR: + session_metadata_folder = os.path.join(CONFIG.CACHE_DIR, 'session_metadata') + try: + shutil.rmtree(session_metadata_folder, ignore_errors=True) + except OSError as e: + pass + + if not os.path.exists(session_metadata_folder): + os.mkdir(session_metadata_folder) + # Initialize the database logger.info(u"Checking if the database upgrades are required...") try: diff --git a/plexpy/activity_handler.py b/plexpy/activity_handler.py index 6f51f3e0..96f3ed1e 100644 --- a/plexpy/activity_handler.py +++ b/plexpy/activity_handler.py @@ -546,7 +546,7 @@ def on_created(rating_key, **kwargs): def delete_metadata_cache(session_key): try: - os.remove(os.path.join(plexpy.CONFIG.CACHE_DIR, 'metadata-sessionKey-%s.json' % session_key)) + os.remove(os.path.join(plexpy.CONFIG.CACHE_DIR, 'session_metadata/metadata-sessionKey-%s.json' % session_key)) except IOError as e: logger.error(u"Tautulli ActivityHandler :: Failed to remove metadata cache file (sessionKey %s): %s" % (session_key, e)) diff --git a/plexpy/pmsconnect.py b/plexpy/pmsconnect.py index cd17ba98..5f23a7a0 100644 --- a/plexpy/pmsconnect.py +++ b/plexpy/pmsconnect.py @@ -533,7 +533,7 @@ class PmsConnect(object): metadata = {} if cache_key: - in_file_path = os.path.join(plexpy.CONFIG.CACHE_DIR, 'metadata-sessionKey-%s.json' % cache_key) + in_file_path = os.path.join(plexpy.CONFIG.CACHE_DIR, 'session_metadata/metadata-sessionKey-%s.json' % cache_key) try: with open(in_file_path, 'r') as inFile: metadata = json.load(inFile) @@ -1179,7 +1179,7 @@ class PmsConnect(object): if cache_key: metadata['_cache_time'] = int(time.time()) - out_file_path = os.path.join(plexpy.CONFIG.CACHE_DIR, 'metadata-sessionKey-%s.json' % cache_key) + out_file_path = os.path.join(plexpy.CONFIG.CACHE_DIR, 'session_metadata/metadata-sessionKey-%s.json' % cache_key) try: with open(out_file_path, 'w') as outFile: json.dump(metadata, outFile)