diff --git a/plexpy/__init__.py b/plexpy/__init__.py index 2590c867..ab1dafba 100644 --- a/plexpy/__init__.py +++ b/plexpy/__init__.py @@ -39,52 +39,27 @@ from apscheduler.triggers.interval import IntervalTrigger from ga4mp import GtagMP import pytz -PYTHON2 = sys.version_info[0] == 2 - -if PYTHON2: - import activity_handler - import activity_pinger - import common - import database - import datafactory - import exporter - import helpers - import libraries - import logger - import mobile_app - import newsletters - import newsletter_handler - import notification_handler - import notifiers - import plex - import plextv - import users - import versioncheck - import web_socket - import webstart - import config -else: - from plexpy import activity_handler - from plexpy import activity_pinger - from plexpy import common - from plexpy import database - from plexpy import datafactory - from plexpy import exporter - from plexpy import helpers - from plexpy import libraries - from plexpy import logger - from plexpy import mobile_app - from plexpy import newsletters - from plexpy import newsletter_handler - from plexpy import notification_handler - from plexpy import notifiers - from plexpy import plex - from plexpy import plextv - from plexpy import users - from plexpy import versioncheck - from plexpy import web_socket - from plexpy import webstart - from plexpy import config +from plexpy import activity_handler +from plexpy import activity_pinger +from plexpy import common +from plexpy import database +from plexpy import datafactory +from plexpy import exporter +from plexpy import helpers +from plexpy import libraries +from plexpy import logger +from plexpy import mobile_app +from plexpy import newsletters +from plexpy import newsletter_handler +from plexpy import notification_handler +from plexpy import notifiers +from plexpy import plex +from plexpy import plextv +from plexpy import users +from plexpy import versioncheck +from plexpy import web_socket +from plexpy import webstart +from plexpy import config PROG_DIR = None @@ -214,11 +189,10 @@ def initialize(config_file): logger.initLogger(console=not QUIET, log_dir=CONFIG.LOG_DIR if log_writable else None, verbose=VERBOSE) - if not PYTHON2: - os.environ['PLEXAPI_CONFIG_PATH'] = os.path.join(DATA_DIR, 'plexapi.config.ini') - os.environ['PLEXAPI_LOG_PATH'] = os.path.join(CONFIG.LOG_DIR, 'plexapi.log') - os.environ['PLEXAPI_LOG_LEVEL'] = 'DEBUG' - plex.initialize_plexapi() + os.environ['PLEXAPI_CONFIG_PATH'] = os.path.join(DATA_DIR, 'plexapi.config.ini') + os.environ['PLEXAPI_LOG_PATH'] = os.path.join(CONFIG.LOG_DIR, 'plexapi.log') + os.environ['PLEXAPI_LOG_LEVEL'] = 'DEBUG' + plex.initialize_plexapi() if DOCKER: build = '[Docker] ' diff --git a/plexpy/activity_handler.py b/plexpy/activity_handler.py index 32f835c3..ca873a8b 100644 --- a/plexpy/activity_handler.py +++ b/plexpy/activity_handler.py @@ -25,22 +25,13 @@ from apscheduler.triggers.date import DateTrigger import pytz import plexpy -if plexpy.PYTHON2: - import activity_processor - import common - import datafactory - import helpers - import logger - import notification_handler - import pmsconnect -else: - from plexpy import activity_processor - from plexpy import common - from plexpy import datafactory - from plexpy import helpers - from plexpy import logger - from plexpy import notification_handler - from plexpy import pmsconnect +from plexpy import activity_processor +from plexpy import common +from plexpy import datafactory +from plexpy import helpers +from plexpy import logger +from plexpy import notification_handler +from plexpy import pmsconnect ACTIVITY_SCHED = None diff --git a/plexpy/activity_pinger.py b/plexpy/activity_pinger.py index f349268c..93b52535 100644 --- a/plexpy/activity_pinger.py +++ b/plexpy/activity_pinger.py @@ -19,28 +19,16 @@ from future.builtins import str import threading import plexpy -if plexpy.PYTHON2: - import activity_handler - import activity_processor - import database - import helpers - import libraries - import logger - import notification_handler - import plextv - import pmsconnect - import web_socket -else: - from plexpy import activity_handler - from plexpy import activity_processor - from plexpy import database - from plexpy import helpers - from plexpy import libraries - from plexpy import logger - from plexpy import notification_handler - from plexpy import plextv - from plexpy import pmsconnect - from plexpy import web_socket +from plexpy import activity_handler +from plexpy import activity_processor +from plexpy import database +from plexpy import helpers +from plexpy import libraries +from plexpy import logger +from plexpy import notification_handler +from plexpy import plextv +from plexpy import pmsconnect +from plexpy import web_socket monitor_lock = threading.Lock() diff --git a/plexpy/activity_processor.py b/plexpy/activity_processor.py index 9115f332..9bebd152 100644 --- a/plexpy/activity_processor.py +++ b/plexpy/activity_processor.py @@ -21,20 +21,12 @@ from collections import defaultdict import json import plexpy -if plexpy.PYTHON2: - import database - import helpers - import libraries - import logger - import pmsconnect - import users -else: - from plexpy import database - from plexpy import helpers - from plexpy import libraries - from plexpy import logger - from plexpy import pmsconnect - from plexpy import users +from plexpy import database +from plexpy import helpers +from plexpy import libraries +from plexpy import logger +from plexpy import pmsconnect +from plexpy import users class ActivityProcessor(object): diff --git a/plexpy/api2.py b/plexpy/api2.py index eefaa9fd..c0dee8ed 100644 --- a/plexpy/api2.py +++ b/plexpy/api2.py @@ -36,34 +36,19 @@ import cherrypy import xmltodict import plexpy -if plexpy.PYTHON2: - import common - import config - import database - import helpers - import libraries - import logger - import mobile_app - import notification_handler - import notifiers - import newsletter_handler - import newsletters - import plextv - import users -else: - from plexpy import common - from plexpy import config - from plexpy import database - from plexpy import helpers - from plexpy import libraries - from plexpy import logger - from plexpy import mobile_app - from plexpy import notification_handler - from plexpy import notifiers - from plexpy import newsletter_handler - from plexpy import newsletters - from plexpy import plextv - from plexpy import users +from plexpy import common +from plexpy import config +from plexpy import database +from plexpy import helpers +from plexpy import libraries +from plexpy import logger +from plexpy import mobile_app +from plexpy import notification_handler +from plexpy import notifiers +from plexpy import newsletter_handler +from plexpy import newsletters +from plexpy import plextv +from plexpy import users class API2(object): diff --git a/plexpy/classes.py b/plexpy/classes.py index 8480b952..0c220bbc 100644 --- a/plexpy/classes.py +++ b/plexpy/classes.py @@ -25,10 +25,7 @@ from __future__ import unicode_literals from future.moves.urllib.request import FancyURLopener import plexpy -if plexpy.PYTHON2: - from common import USER_AGENT -else: - from plexpy.common import USER_AGENT +from plexpy.common import USER_AGENT class PlexPyURLopener(FancyURLopener): diff --git a/plexpy/common.py b/plexpy/common.py index 889d3f73..e997d38c 100644 --- a/plexpy/common.py +++ b/plexpy/common.py @@ -22,10 +22,7 @@ import platform from collections import OrderedDict import plexpy -if plexpy.PYTHON2: - import version -else: - from plexpy import version +from plexpy import version # Identify Our Application diff --git a/plexpy/config.py b/plexpy/config.py index dbcd294d..decf46f9 100644 --- a/plexpy/config.py +++ b/plexpy/config.py @@ -27,12 +27,8 @@ from configobj import ConfigObj, ParseError from hashing_passwords import make_hash import plexpy -if plexpy.PYTHON2: - import helpers - import logger -else: - from plexpy import helpers - from plexpy import logger +from plexpy import helpers +from plexpy import logger def bool_int(value): diff --git a/plexpy/database.py b/plexpy/database.py index 859d9274..514a38c9 100644 --- a/plexpy/database.py +++ b/plexpy/database.py @@ -24,12 +24,8 @@ import threading import time import plexpy -if plexpy.PYTHON2: - import helpers - import logger -else: - from plexpy import helpers - from plexpy import logger +from plexpy import helpers +from plexpy import logger FILENAME = "tautulli.db" diff --git a/plexpy/datafactory.py b/plexpy/datafactory.py index de3ed030..76113cd0 100644 --- a/plexpy/datafactory.py +++ b/plexpy/datafactory.py @@ -24,26 +24,15 @@ from future.builtins import object import json import plexpy -if plexpy.PYTHON2: - import common - import database - import datatables - import libraries - import helpers - import logger - import pmsconnect - import session - import users -else: - from plexpy import libraries - from plexpy import common - from plexpy import database - from plexpy import datatables - from plexpy import helpers - from plexpy import logger - from plexpy import pmsconnect - from plexpy import session - from plexpy import users +from plexpy import libraries +from plexpy import common +from plexpy import database +from plexpy import datatables +from plexpy import helpers +from plexpy import logger +from plexpy import pmsconnect +from plexpy import session +from plexpy import users # Temporarily store update_metadata row ids in memory to prevent rating_key collisions _UPDATE_METADATA_IDS = { diff --git a/plexpy/datatables.py b/plexpy/datatables.py index 47a913d6..ce78ef8f 100644 --- a/plexpy/datatables.py +++ b/plexpy/datatables.py @@ -19,14 +19,9 @@ from future.builtins import object import re import plexpy -if plexpy.PYTHON2: - import database - import helpers - import logger -else: - from plexpy import database - from plexpy import helpers - from plexpy import logger +from plexpy import database +from plexpy import helpers +from plexpy import logger class DataTables(object): diff --git a/plexpy/exporter.py b/plexpy/exporter.py index 1232481c..7080e052 100644 --- a/plexpy/exporter.py +++ b/plexpy/exporter.py @@ -30,20 +30,12 @@ from io import open from multiprocessing.dummy import Pool as ThreadPool import plexpy -if plexpy.PYTHON2: - import database - import datatables - import helpers - import logger - import users - from plex import Plex -else: - from plexpy import database - from plexpy import datatables - from plexpy import helpers - from plexpy import logger - from plexpy import users - from plexpy.plex import Plex +from plexpy import database +from plexpy import datatables +from plexpy import helpers +from plexpy import logger +from plexpy import users +from plexpy.plex import Plex class Export(object): diff --git a/plexpy/graphs.py b/plexpy/graphs.py index 8758f71f..8a7fff5b 100644 --- a/plexpy/graphs.py +++ b/plexpy/graphs.py @@ -23,20 +23,12 @@ from future.builtins import object import arrow import datetime import plexpy -if plexpy.PYTHON2: - import common - import database - import helpers - import logger - import libraries - import session -else: - from plexpy import common - from plexpy import database - from plexpy import helpers - from plexpy import logger - from plexpy import libraries - from plexpy import session +from plexpy import common +from plexpy import database +from plexpy import helpers +from plexpy import logger +from plexpy import libraries +from plexpy import session class Graphs(object): diff --git a/plexpy/helpers.py b/plexpy/helpers.py index 486be759..86bf5881 100644 --- a/plexpy/helpers.py +++ b/plexpy/helpers.py @@ -55,16 +55,10 @@ from xml.dom import minidom import xmltodict import plexpy -if plexpy.PYTHON2: - import common - import logger - import request - from api2 import API2 -else: - from plexpy import common - from plexpy import logger - from plexpy import request - from plexpy.api2 import API2 +from plexpy import common +from plexpy import logger +from plexpy import request +from plexpy.api2 import API2 def addtoapi(*dargs, **dkwargs): @@ -889,17 +883,11 @@ def upload_to_cloudinary(img_data, img_title='', rating_key='', fallback=''): api_secret=plexpy.CONFIG.CLOUDINARY_API_SECRET ) - # Cloudinary library has very poor support for non-ASCII characters on Python 2 - if plexpy.PYTHON2: - _img_title = latinToAscii(img_title, replace=True) - else: - _img_title = img_title - try: response = upload((img_title, img_data), public_id='{}_{}'.format(fallback, rating_key), tags=['tautulli', fallback, str(rating_key)], - context={'title': _img_title, 'rating_key': str(rating_key), 'fallback': fallback}) + context={'title': img_title, 'rating_key': str(rating_key), 'fallback': fallback}) logger.debug("Tautulli Helpers :: Image '{}' ({}) uploaded to Cloudinary.".format(img_title, fallback)) img_url = response.get('url', '') except Exception as e: @@ -1280,11 +1268,7 @@ def split_args(args=None): if isinstance(args, list): return args elif isinstance(args, str): - if plexpy.PYTHON2: - args = args.encode('utf-8') args = shlex.split(args) - if plexpy.PYTHON2: - args = [a.decode('utf-8') for a in args] return args return [] diff --git a/plexpy/http_handler.py b/plexpy/http_handler.py index 79bb3562..aaddfcc5 100644 --- a/plexpy/http_handler.py +++ b/plexpy/http_handler.py @@ -27,12 +27,8 @@ import requests import urllib3 import plexpy -if plexpy.PYTHON2: - import helpers - import logger -else: - from plexpy import helpers - from plexpy import logger +from plexpy import helpers +from plexpy import logger class HTTPHandler(object): diff --git a/plexpy/libraries.py b/plexpy/libraries.py index 33832aba..fb9c638b 100644 --- a/plexpy/libraries.py +++ b/plexpy/libraries.py @@ -25,28 +25,16 @@ import os from datetime import datetime, timedelta import plexpy -if plexpy.PYTHON2: - import common - import database - import datatables - import helpers - import logger - import plextv - import pmsconnect - import session - import users - from plex import Plex -else: - from plexpy import common - from plexpy import database - from plexpy import datatables - from plexpy import helpers - from plexpy import logger - from plexpy import plextv - from plexpy import pmsconnect - from plexpy import session - from plexpy import users - from plexpy.plex import Plex +from plexpy import common +from plexpy import database +from plexpy import datatables +from plexpy import helpers +from plexpy import logger +from plexpy import plextv +from plexpy import pmsconnect +from plexpy import session +from plexpy import users +from plexpy.plex import Plex def refresh_libraries(): diff --git a/plexpy/lock.py b/plexpy/lock.py index 6cdc6800..bd21840f 100644 --- a/plexpy/lock.py +++ b/plexpy/lock.py @@ -23,10 +23,7 @@ import time import threading import plexpy -if plexpy.PYTHON2: - import logger -else: - from plexpy import logger +from plexpy import logger class TimedLock(object): diff --git a/plexpy/log_reader.py b/plexpy/log_reader.py index 358ca86c..d2e207bb 100644 --- a/plexpy/log_reader.py +++ b/plexpy/log_reader.py @@ -21,12 +21,8 @@ from io import open import os import plexpy -if plexpy.PYTHON2: - import helpers - import logger -else: - from plexpy import helpers - from plexpy import logger +from plexpy import helpers +from plexpy import logger def list_plex_logs(): diff --git a/plexpy/logger.py b/plexpy/logger.py index 9f44df95..a4c0cad7 100644 --- a/plexpy/logger.py +++ b/plexpy/logger.py @@ -29,13 +29,8 @@ import threading import traceback import plexpy -if plexpy.PYTHON2: - import helpers - import users - from config import _BLACKLIST_KEYS, _WHITELIST_KEYS -else: - from plexpy import helpers, users - from plexpy.config import _BLACKLIST_KEYS, _WHITELIST_KEYS +from plexpy import helpers, users +from plexpy.config import _BLACKLIST_KEYS, _WHITELIST_KEYS # These settings are for file logging only diff --git a/plexpy/macos.py b/plexpy/macos.py index 4dafaa13..d2589fad 100644 --- a/plexpy/macos.py +++ b/plexpy/macos.py @@ -31,14 +31,9 @@ if HAS_PYOBJC: import rumps import plexpy -if plexpy.PYTHON2: - import common - import logger - import versioncheck -else: - from plexpy import common - from plexpy import logger - from plexpy import versioncheck +from plexpy import common +from plexpy import logger +from plexpy import versioncheck class MacOSSystemTray(object): diff --git a/plexpy/mobile_app.py b/plexpy/mobile_app.py index 57734975..c23d8540 100644 --- a/plexpy/mobile_app.py +++ b/plexpy/mobile_app.py @@ -22,14 +22,9 @@ import requests import threading import plexpy -if plexpy.PYTHON2: - import database - import helpers - import logger -else: - from plexpy import database - from plexpy import helpers - from plexpy import logger +from plexpy import database +from plexpy import helpers +from plexpy import logger _ONESIGNAL_APP_ID = '3b4b666a-d557-4b92-acdf-e2c8c4b95357' diff --git a/plexpy/newsletter_handler.py b/plexpy/newsletter_handler.py index 471a5984..92af7f71 100644 --- a/plexpy/newsletter_handler.py +++ b/plexpy/newsletter_handler.py @@ -24,16 +24,10 @@ from apscheduler.triggers.cron import CronTrigger import email.utils import plexpy -if plexpy.PYTHON2: - import database - import helpers - import logger - import newsletters -else: - from plexpy import database - from plexpy import helpers - from plexpy import logger - from plexpy import newsletters +from plexpy import database +from plexpy import helpers +from plexpy import logger +from plexpy import newsletters NEWSLETTER_SCHED = None diff --git a/plexpy/newsletters.py b/plexpy/newsletters.py index 5fe8448c..1f388ad8 100644 --- a/plexpy/newsletters.py +++ b/plexpy/newsletters.py @@ -30,24 +30,14 @@ import os import re import plexpy -if plexpy.PYTHON2: - import common - import database - import helpers - import libraries - import logger - import newsletter_handler - import pmsconnect - from notifiers import send_notification, EMAIL -else: - from plexpy import common - from plexpy import database - from plexpy import helpers - from plexpy import libraries - from plexpy import logger - from plexpy import newsletter_handler - from plexpy import pmsconnect - from plexpy.notifiers import send_notification, EMAIL +from plexpy import common +from plexpy import database +from plexpy import helpers +from plexpy import libraries +from plexpy import logger +from plexpy import newsletter_handler +from plexpy import pmsconnect +from plexpy.notifiers import send_notification, EMAIL AGENT_IDS = { diff --git a/plexpy/notification_handler.py b/plexpy/notification_handler.py index 8b4b8583..6e1f7019 100644 --- a/plexpy/notification_handler.py +++ b/plexpy/notification_handler.py @@ -39,28 +39,16 @@ import threading import musicbrainzngs import plexpy -if plexpy.PYTHON2: - import activity_processor - import common - import database - import datafactory - import logger - import helpers - import notifiers - import pmsconnect - import request - from newsletter_handler import notify as notify_newsletter -else: - from plexpy import activity_processor - from plexpy import common - from plexpy import database - from plexpy import datafactory - from plexpy import logger - from plexpy import helpers - from plexpy import notifiers - from plexpy import pmsconnect - from plexpy import request - from plexpy.newsletter_handler import notify as notify_newsletter +from plexpy import activity_processor +from plexpy import common +from plexpy import database +from plexpy import datafactory +from plexpy import logger +from plexpy import helpers +from plexpy import notifiers +from plexpy import pmsconnect +from plexpy import request +from plexpy.newsletter_handler import notify as notify_newsletter def process_queue(): @@ -2071,14 +2059,10 @@ class CustomFormatter(Formatter): obj = self.convert_field(obj, conversion) # expand the format spec, if needed - if plexpy.PYTHON2: - format_spec = self._vformat(format_spec, args, kwargs, - used_args, recursion_depth - 1) - else: - format_spec, auto_arg_index = self._vformat( - format_spec, args, kwargs, - used_args, recursion_depth-1, - auto_arg_index=auto_arg_index) + format_spec, auto_arg_index = self._vformat( + format_spec, args, kwargs, + used_args, recursion_depth-1, + auto_arg_index=auto_arg_index) # format the object and append to the result formatted_field = self.format_field(obj, format_spec) @@ -2090,7 +2074,4 @@ class CustomFormatter(Formatter): result.append(suffix) # result.append(self.format_field(obj, format_spec)) - if plexpy.PYTHON2: - return ''.join(result) - else: - return ''.join(result), auto_arg_index + return ''.join(result), auto_arg_index diff --git a/plexpy/notifiers.py b/plexpy/notifiers.py index 1e18644e..39721f58 100644 --- a/plexpy/notifiers.py +++ b/plexpy/notifiers.py @@ -61,24 +61,14 @@ import facebook import twitter import plexpy -if plexpy.PYTHON2: - import common - import database - import helpers - import logger - import mobile_app - import pmsconnect - import request - import users -else: - from plexpy import common - from plexpy import database - from plexpy import helpers - from plexpy import logger - from plexpy import mobile_app - from plexpy import pmsconnect - from plexpy import request - from plexpy import users +from plexpy import common +from plexpy import database +from plexpy import helpers +from plexpy import logger +from plexpy import mobile_app +from plexpy import pmsconnect +from plexpy import request +from plexpy import users BROWSER_NOTIFIERS = {} @@ -3450,9 +3440,6 @@ class SCRIPTS(Notifier): if self.pythonpath and plexpy.INSTALL_TYPE not in ('windows', 'macos'): custom_env['PYTHONPATH'] = os.pathsep.join([p for p in sys.path if p]) - if plexpy.PYTHON2: - custom_env = {k.encode('utf-8'): v.encode('utf-8') for k, v in custom_env.items()} - env = os.environ.copy() env.update(custom_env) @@ -3557,9 +3544,6 @@ class SCRIPTS(Notifier): script.extend(script_args) - if plexpy.PYTHON2: - script = [s.encode(plexpy.SYS_ENCODING, 'ignore') for s in script] - logger.debug("Tautulli Notifiers :: Full script is: %s" % script) logger.debug("Tautulli Notifiers :: Executing script in a new thread.") thread = threading.Thread(target=self.run_script, args=(script, user_id)).start() diff --git a/plexpy/plex.py b/plexpy/plex.py index 29379053..831e1185 100644 --- a/plexpy/plex.py +++ b/plexpy/plex.py @@ -20,10 +20,7 @@ from future.builtins import object from future.builtins import str import plexpy -if plexpy.PYTHON2: - import logger -else: - from plexpy import logger +from plexpy import logger class DummyObject(object): diff --git a/plexpy/plexivity_import.py b/plexpy/plexivity_import.py index 644782a2..08cc28d9 100644 --- a/plexpy/plexivity_import.py +++ b/plexpy/plexivity_import.py @@ -23,18 +23,11 @@ import sqlite3 from xml.dom import minidom import plexpy -if plexpy.PYTHON2: - import activity_processor - import database - import helpers - import logger - import users -else: - from plexpy import activity_processor - from plexpy import database - from plexpy import helpers - from plexpy import logger - from plexpy import users +from plexpy import activity_processor +from plexpy import database +from plexpy import helpers +from plexpy import logger +from plexpy import users def extract_plexivity_xml(xml=None): diff --git a/plexpy/plextv.py b/plexpy/plextv.py index d3afb26a..0675b207 100644 --- a/plexpy/plextv.py +++ b/plexpy/plextv.py @@ -24,24 +24,14 @@ from future.moves.urllib.parse import unquote import json import plexpy -if plexpy.PYTHON2: - import common - import helpers - import http_handler - import logger - import users - import pmsconnect - import session - from plex import Plex -else: - from plexpy import common - from plexpy import helpers - from plexpy import http_handler - from plexpy import logger - from plexpy import users - from plexpy import pmsconnect - from plexpy import session - from plexpy.plex import Plex +from plexpy import common +from plexpy import helpers +from plexpy import http_handler +from plexpy import logger +from plexpy import users +from plexpy import pmsconnect +from plexpy import session +from plexpy.plex import Plex def get_server_resources(return_presence=False, return_server=False, return_info=False, **kwargs): diff --git a/plexpy/plexwatch_import.py b/plexpy/plexwatch_import.py index 4d8ec80b..d9cb26a2 100644 --- a/plexpy/plexwatch_import.py +++ b/plexpy/plexwatch_import.py @@ -22,18 +22,11 @@ import sqlite3 from xml.dom import minidom import plexpy -if plexpy.PYTHON2: - import activity_processor - import database - import helpers - import logger - import users -else: - from plexpy import activity_processor - from plexpy import database - from plexpy import helpers - from plexpy import logger - from plexpy import users +from plexpy import activity_processor +from plexpy import database +from plexpy import helpers +from plexpy import logger +from plexpy import users def extract_plexwatch_xml(xml=None): diff --git a/plexpy/pmsconnect.py b/plexpy/pmsconnect.py index cf662be4..022f0445 100644 --- a/plexpy/pmsconnect.py +++ b/plexpy/pmsconnect.py @@ -27,26 +27,15 @@ from future.moves.urllib.parse import quote, quote_plus, urlencode from xml.dom.minidom import Node import plexpy -if plexpy.PYTHON2: - import activity_processor - import common - import helpers - import http_handler - import libraries - import logger - import plextv - import session - import users -else: - from plexpy import activity_processor - from plexpy import common - from plexpy import helpers - from plexpy import http_handler - from plexpy import libraries - from plexpy import logger - from plexpy import plextv - from plexpy import session - from plexpy import users +from plexpy import activity_processor +from plexpy import common +from plexpy import helpers +from plexpy import http_handler +from plexpy import libraries +from plexpy import logger +from plexpy import plextv +from plexpy import session +from plexpy import users def get_server_friendly_name(): diff --git a/plexpy/request.py b/plexpy/request.py index 50bb8a0a..05804d99 100644 --- a/plexpy/request.py +++ b/plexpy/request.py @@ -26,12 +26,8 @@ import requests from requests.packages import urllib3 import plexpy -if plexpy.PYTHON2: - import lock - import logger -else: - from plexpy import lock - from plexpy import logger +from plexpy import lock +from plexpy import logger # Dictionary with last request times, for rate limiting. diff --git a/plexpy/session.py b/plexpy/session.py index 21c14430..44a52759 100644 --- a/plexpy/session.py +++ b/plexpy/session.py @@ -21,12 +21,8 @@ from future.builtins import str import cherrypy import plexpy -if plexpy.PYTHON2: - import common - import users -else: - from plexpy import common - from plexpy import users +from plexpy import common +from plexpy import users def get_session_info(): diff --git a/plexpy/users.py b/plexpy/users.py index 0e201791..98645edb 100644 --- a/plexpy/users.py +++ b/plexpy/users.py @@ -26,24 +26,14 @@ import httpagentparser from datetime import datetime, timedelta import plexpy -if plexpy.PYTHON2: - import common - import database - import datatables - import helpers - import libraries - import logger - import plextv - import session -else: - from plexpy import common - from plexpy import database - from plexpy import datatables - from plexpy import helpers - from plexpy import libraries - from plexpy import logger - from plexpy import plextv - from plexpy import session +from plexpy import common +from plexpy import database +from plexpy import datatables +from plexpy import helpers +from plexpy import libraries +from plexpy import logger +from plexpy import plextv +from plexpy import session def refresh_users(): diff --git a/plexpy/versioncheck.py b/plexpy/versioncheck.py index 2f07d7ae..4c849e8c 100644 --- a/plexpy/versioncheck.py +++ b/plexpy/versioncheck.py @@ -29,16 +29,10 @@ import subprocess import tarfile import plexpy -if plexpy.PYTHON2: - import common - import helpers - import logger - import request -else: - from plexpy import common - from plexpy import helpers - from plexpy import logger - from plexpy import request +from plexpy import common +from plexpy import helpers +from plexpy import logger +from plexpy import request def runGit(args): @@ -292,9 +286,6 @@ def check_github(scheduler=False, notify=False, use_cache=False): 'plexpy_update_commit': plexpy.LATEST_VERSION, 'plexpy_update_behind': plexpy.COMMITS_BEHIND}) - if plexpy.PYTHON2: - logger.warn('Tautulli is running using Python 2. Unable to run automatic update.') - elif scheduler and plexpy.CONFIG.PLEXPY_AUTO_UPDATE and \ not plexpy.DOCKER and not plexpy.SNAP and not plexpy.FROZEN: logger.info('Running automatic update.') @@ -307,10 +298,6 @@ def check_github(scheduler=False, notify=False, use_cache=False): def update(): - if plexpy.PYTHON2: - logger.warn('Tautulli is running using Python 2. Unable to update.') - return - if not plexpy.UPDATE_AVAILABLE: return diff --git a/plexpy/web_socket.py b/plexpy/web_socket.py index b70d4b6e..96fc2e33 100644 --- a/plexpy/web_socket.py +++ b/plexpy/web_socket.py @@ -29,18 +29,11 @@ import certifi import websocket import plexpy -if plexpy.PYTHON2: - import activity_handler - import activity_pinger - import activity_processor - import database - import logger -else: - from plexpy import activity_handler - from plexpy import activity_pinger - from plexpy import activity_processor - from plexpy import database - from plexpy import logger +from plexpy import activity_handler +from plexpy import activity_pinger +from plexpy import activity_processor +from plexpy import database +from plexpy import logger name = 'websocket' diff --git a/plexpy/webauth.py b/plexpy/webauth.py index 5487f2ea..3371ee6e 100644 --- a/plexpy/webauth.py +++ b/plexpy/webauth.py @@ -30,18 +30,11 @@ from hashing_passwords import check_hash import jwt import plexpy -if plexpy.PYTHON2: - import logger - from database import MonitorDatabase - from helpers import timestamp - from users import Users, refresh_users - from plextv import PlexTV -else: - from plexpy import logger - from plexpy.database import MonitorDatabase - from plexpy.helpers import timestamp - from plexpy.users import Users, refresh_users - from plexpy.plextv import PlexTV +from plexpy import logger +from plexpy.database import MonitorDatabase +from plexpy.helpers import timestamp +from plexpy.users import Users, refresh_users +from plexpy.plextv import PlexTV # Monkey patch SameSite support into cookies. # https://stackoverflow.com/a/50813092 diff --git a/plexpy/webserve.py b/plexpy/webserve.py index 196bbe5b..ae0f8da8 100644 --- a/plexpy/webserve.py +++ b/plexpy/webserve.py @@ -49,76 +49,40 @@ if sys.version_info >= (3, 6): import secrets import plexpy -if plexpy.PYTHON2: - import activity_pinger - import activity_processor - import common - import config - import database - import datafactory - import exporter - import graphs - import helpers - import http_handler - import libraries - import log_reader - import logger - import newsletter_handler - import newsletters - import mobile_app - import notification_handler - import notifiers - import plextv - import plexivity_import - import plexwatch_import - import pmsconnect - import users - import versioncheck - import web_socket - import webstart - from api2 import API2 - from helpers import checked, addtoapi, get_ip, create_https_certificates, build_datatables_json, sanitize_out - from session import get_session_info, get_session_user_id, allow_session_user, allow_session_library - from webauth import AuthController, requireAuth, member_of, check_auth, get_jwt_token - if common.PLATFORM == 'Windows': - import windows - elif common.PLATFORM == 'Darwin': - import macos -else: - from plexpy import activity_pinger - from plexpy import activity_processor - from plexpy import common - from plexpy import config - from plexpy import database - from plexpy import datafactory - from plexpy import exporter - from plexpy import graphs - from plexpy import helpers - from plexpy import http_handler - from plexpy import libraries - from plexpy import log_reader - from plexpy import logger - from plexpy import newsletter_handler - from plexpy import newsletters - from plexpy import mobile_app - from plexpy import notification_handler - from plexpy import notifiers - from plexpy import plextv - from plexpy import plexivity_import - from plexpy import plexwatch_import - from plexpy import pmsconnect - from plexpy import users - from plexpy import versioncheck - from plexpy import web_socket - from plexpy import webstart - from plexpy.api2 import API2 - from plexpy.helpers import checked, addtoapi, get_ip, create_https_certificates, build_datatables_json, sanitize_out - from plexpy.session import get_session_info, get_session_user_id, allow_session_user, allow_session_library - from plexpy.webauth import AuthController, requireAuth, member_of, check_auth, get_jwt_token - if common.PLATFORM == 'Windows': - from plexpy import windows - elif common.PLATFORM == 'Darwin': - from plexpy import macos +from plexpy import activity_pinger +from plexpy import activity_processor +from plexpy import common +from plexpy import config +from plexpy import database +from plexpy import datafactory +from plexpy import exporter +from plexpy import graphs +from plexpy import helpers +from plexpy import http_handler +from plexpy import libraries +from plexpy import log_reader +from plexpy import logger +from plexpy import newsletter_handler +from plexpy import newsletters +from plexpy import mobile_app +from plexpy import notification_handler +from plexpy import notifiers +from plexpy import plextv +from plexpy import plexivity_import +from plexpy import plexwatch_import +from plexpy import pmsconnect +from plexpy import users +from plexpy import versioncheck +from plexpy import web_socket +from plexpy import webstart +from plexpy.api2 import API2 +from plexpy.helpers import checked, addtoapi, get_ip, create_https_certificates, build_datatables_json, sanitize_out +from plexpy.session import get_session_info, get_session_user_id, allow_session_user, allow_session_library +from plexpy.webauth import AuthController, requireAuth, member_of, check_auth, get_jwt_token +if common.PLATFORM == 'Windows': + from plexpy import windows +elif common.PLATFORM == 'Darwin': + from plexpy import macos TEMPLATE_LOOKUP = None @@ -4367,8 +4331,6 @@ class WebInterface(object): @cherrypy.expose @requireAuth(member_of("admin")) def update(self, **kwargs): - if plexpy.PYTHON2: - raise cherrypy.HTTPRedirect(plexpy.HTTP_ROOT + "home?update=python2") if plexpy.DOCKER or plexpy.SNAP: raise cherrypy.HTTPRedirect(plexpy.HTTP_ROOT + "home") diff --git a/plexpy/webstart.py b/plexpy/webstart.py index c8ed258f..b02e9ec1 100644 --- a/plexpy/webstart.py +++ b/plexpy/webstart.py @@ -22,16 +22,10 @@ import sys import cherrypy import plexpy -if plexpy.PYTHON2: - import logger - import webauth - from helpers import create_https_certificates - from webserve import WebInterface, BaseRedirect -else: - from plexpy import logger - from plexpy import webauth - from plexpy.helpers import create_https_certificates - from plexpy.webserve import WebInterface, BaseRedirect +from plexpy import logger +from plexpy import webauth +from plexpy.helpers import create_https_certificates +from plexpy.webserve import WebInterface, BaseRedirect def start(): diff --git a/plexpy/windows.py b/plexpy/windows.py index 3f94b9f0..766e344a 100644 --- a/plexpy/windows.py +++ b/plexpy/windows.py @@ -30,14 +30,9 @@ except ImportError: import _winreg as winreg import plexpy -if plexpy.PYTHON2: - import common - import logger - import versioncheck -else: - from plexpy import common - from plexpy import logger - from plexpy import versioncheck +from plexpy import common +from plexpy import logger +from plexpy import versioncheck class WindowsSystemTray(object):