mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-08-22 06:13:25 -07:00
Remove Python 2 handling code
This commit is contained in:
parent
4bf956759c
commit
6b5261fcba
39 changed files with 249 additions and 602 deletions
|
@ -39,31 +39,6 @@ from apscheduler.triggers.interval import IntervalTrigger
|
||||||
from ga4mp import GtagMP
|
from ga4mp import GtagMP
|
||||||
import pytz
|
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_handler
|
||||||
from plexpy import activity_pinger
|
from plexpy import activity_pinger
|
||||||
from plexpy import common
|
from plexpy import common
|
||||||
|
@ -214,7 +189,6 @@ def initialize(config_file):
|
||||||
logger.initLogger(console=not QUIET, log_dir=CONFIG.LOG_DIR if log_writable else None,
|
logger.initLogger(console=not QUIET, log_dir=CONFIG.LOG_DIR if log_writable else None,
|
||||||
verbose=VERBOSE)
|
verbose=VERBOSE)
|
||||||
|
|
||||||
if not PYTHON2:
|
|
||||||
os.environ['PLEXAPI_CONFIG_PATH'] = os.path.join(DATA_DIR, 'plexapi.config.ini')
|
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_PATH'] = os.path.join(CONFIG.LOG_DIR, 'plexapi.log')
|
||||||
os.environ['PLEXAPI_LOG_LEVEL'] = 'DEBUG'
|
os.environ['PLEXAPI_LOG_LEVEL'] = 'DEBUG'
|
||||||
|
|
|
@ -25,15 +25,6 @@ from apscheduler.triggers.date import DateTrigger
|
||||||
import pytz
|
import pytz
|
||||||
|
|
||||||
import plexpy
|
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 activity_processor
|
||||||
from plexpy import common
|
from plexpy import common
|
||||||
from plexpy import datafactory
|
from plexpy import datafactory
|
||||||
|
|
|
@ -19,18 +19,6 @@ from future.builtins import str
|
||||||
import threading
|
import threading
|
||||||
|
|
||||||
import plexpy
|
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_handler
|
||||||
from plexpy import activity_processor
|
from plexpy import activity_processor
|
||||||
from plexpy import database
|
from plexpy import database
|
||||||
|
|
|
@ -21,14 +21,6 @@ from collections import defaultdict
|
||||||
import json
|
import json
|
||||||
|
|
||||||
import plexpy
|
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 database
|
||||||
from plexpy import helpers
|
from plexpy import helpers
|
||||||
from plexpy import libraries
|
from plexpy import libraries
|
||||||
|
|
|
@ -36,21 +36,6 @@ import cherrypy
|
||||||
import xmltodict
|
import xmltodict
|
||||||
|
|
||||||
import plexpy
|
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 common
|
||||||
from plexpy import config
|
from plexpy import config
|
||||||
from plexpy import database
|
from plexpy import database
|
||||||
|
|
|
@ -25,9 +25,6 @@ from __future__ import unicode_literals
|
||||||
from future.moves.urllib.request import FancyURLopener
|
from future.moves.urllib.request import FancyURLopener
|
||||||
|
|
||||||
import plexpy
|
import plexpy
|
||||||
if plexpy.PYTHON2:
|
|
||||||
from common import USER_AGENT
|
|
||||||
else:
|
|
||||||
from plexpy.common import USER_AGENT
|
from plexpy.common import USER_AGENT
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -22,9 +22,6 @@ import platform
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
|
|
||||||
import plexpy
|
import plexpy
|
||||||
if plexpy.PYTHON2:
|
|
||||||
import version
|
|
||||||
else:
|
|
||||||
from plexpy import version
|
from plexpy import version
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -27,10 +27,6 @@ from configobj import ConfigObj, ParseError
|
||||||
from hashing_passwords import make_hash
|
from hashing_passwords import make_hash
|
||||||
|
|
||||||
import plexpy
|
import plexpy
|
||||||
if plexpy.PYTHON2:
|
|
||||||
import helpers
|
|
||||||
import logger
|
|
||||||
else:
|
|
||||||
from plexpy import helpers
|
from plexpy import helpers
|
||||||
from plexpy import logger
|
from plexpy import logger
|
||||||
|
|
||||||
|
|
|
@ -24,10 +24,6 @@ import threading
|
||||||
import time
|
import time
|
||||||
|
|
||||||
import plexpy
|
import plexpy
|
||||||
if plexpy.PYTHON2:
|
|
||||||
import helpers
|
|
||||||
import logger
|
|
||||||
else:
|
|
||||||
from plexpy import helpers
|
from plexpy import helpers
|
||||||
from plexpy import logger
|
from plexpy import logger
|
||||||
|
|
||||||
|
|
|
@ -24,17 +24,6 @@ from future.builtins import object
|
||||||
import json
|
import json
|
||||||
|
|
||||||
import plexpy
|
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 libraries
|
||||||
from plexpy import common
|
from plexpy import common
|
||||||
from plexpy import database
|
from plexpy import database
|
||||||
|
|
|
@ -19,11 +19,6 @@ from future.builtins import object
|
||||||
import re
|
import re
|
||||||
|
|
||||||
import plexpy
|
import plexpy
|
||||||
if plexpy.PYTHON2:
|
|
||||||
import database
|
|
||||||
import helpers
|
|
||||||
import logger
|
|
||||||
else:
|
|
||||||
from plexpy import database
|
from plexpy import database
|
||||||
from plexpy import helpers
|
from plexpy import helpers
|
||||||
from plexpy import logger
|
from plexpy import logger
|
||||||
|
|
|
@ -30,14 +30,6 @@ from io import open
|
||||||
from multiprocessing.dummy import Pool as ThreadPool
|
from multiprocessing.dummy import Pool as ThreadPool
|
||||||
|
|
||||||
import plexpy
|
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 database
|
||||||
from plexpy import datatables
|
from plexpy import datatables
|
||||||
from plexpy import helpers
|
from plexpy import helpers
|
||||||
|
|
|
@ -23,14 +23,6 @@ from future.builtins import object
|
||||||
import arrow
|
import arrow
|
||||||
import datetime
|
import datetime
|
||||||
import plexpy
|
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 common
|
||||||
from plexpy import database
|
from plexpy import database
|
||||||
from plexpy import helpers
|
from plexpy import helpers
|
||||||
|
|
|
@ -55,12 +55,6 @@ from xml.dom import minidom
|
||||||
import xmltodict
|
import xmltodict
|
||||||
|
|
||||||
import plexpy
|
import plexpy
|
||||||
if plexpy.PYTHON2:
|
|
||||||
import common
|
|
||||||
import logger
|
|
||||||
import request
|
|
||||||
from api2 import API2
|
|
||||||
else:
|
|
||||||
from plexpy import common
|
from plexpy import common
|
||||||
from plexpy import logger
|
from plexpy import logger
|
||||||
from plexpy import request
|
from plexpy import request
|
||||||
|
@ -889,17 +883,11 @@ def upload_to_cloudinary(img_data, img_title='', rating_key='', fallback=''):
|
||||||
api_secret=plexpy.CONFIG.CLOUDINARY_API_SECRET
|
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:
|
try:
|
||||||
response = upload((img_title, img_data),
|
response = upload((img_title, img_data),
|
||||||
public_id='{}_{}'.format(fallback, rating_key),
|
public_id='{}_{}'.format(fallback, rating_key),
|
||||||
tags=['tautulli', fallback, str(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))
|
logger.debug("Tautulli Helpers :: Image '{}' ({}) uploaded to Cloudinary.".format(img_title, fallback))
|
||||||
img_url = response.get('url', '')
|
img_url = response.get('url', '')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
@ -1280,11 +1268,7 @@ def split_args(args=None):
|
||||||
if isinstance(args, list):
|
if isinstance(args, list):
|
||||||
return args
|
return args
|
||||||
elif isinstance(args, str):
|
elif isinstance(args, str):
|
||||||
if plexpy.PYTHON2:
|
|
||||||
args = args.encode('utf-8')
|
|
||||||
args = shlex.split(args)
|
args = shlex.split(args)
|
||||||
if plexpy.PYTHON2:
|
|
||||||
args = [a.decode('utf-8') for a in args]
|
|
||||||
return args
|
return args
|
||||||
return []
|
return []
|
||||||
|
|
||||||
|
|
|
@ -27,10 +27,6 @@ import requests
|
||||||
import urllib3
|
import urllib3
|
||||||
|
|
||||||
import plexpy
|
import plexpy
|
||||||
if plexpy.PYTHON2:
|
|
||||||
import helpers
|
|
||||||
import logger
|
|
||||||
else:
|
|
||||||
from plexpy import helpers
|
from plexpy import helpers
|
||||||
from plexpy import logger
|
from plexpy import logger
|
||||||
|
|
||||||
|
|
|
@ -25,18 +25,6 @@ import os
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
|
||||||
import plexpy
|
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 common
|
||||||
from plexpy import database
|
from plexpy import database
|
||||||
from plexpy import datatables
|
from plexpy import datatables
|
||||||
|
|
|
@ -23,9 +23,6 @@ import time
|
||||||
import threading
|
import threading
|
||||||
|
|
||||||
import plexpy
|
import plexpy
|
||||||
if plexpy.PYTHON2:
|
|
||||||
import logger
|
|
||||||
else:
|
|
||||||
from plexpy import logger
|
from plexpy import logger
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -21,10 +21,6 @@ from io import open
|
||||||
import os
|
import os
|
||||||
|
|
||||||
import plexpy
|
import plexpy
|
||||||
if plexpy.PYTHON2:
|
|
||||||
import helpers
|
|
||||||
import logger
|
|
||||||
else:
|
|
||||||
from plexpy import helpers
|
from plexpy import helpers
|
||||||
from plexpy import logger
|
from plexpy import logger
|
||||||
|
|
||||||
|
|
|
@ -29,11 +29,6 @@ import threading
|
||||||
import traceback
|
import traceback
|
||||||
|
|
||||||
import plexpy
|
import plexpy
|
||||||
if plexpy.PYTHON2:
|
|
||||||
import helpers
|
|
||||||
import users
|
|
||||||
from config import _BLACKLIST_KEYS, _WHITELIST_KEYS
|
|
||||||
else:
|
|
||||||
from plexpy import helpers, users
|
from plexpy import helpers, users
|
||||||
from plexpy.config import _BLACKLIST_KEYS, _WHITELIST_KEYS
|
from plexpy.config import _BLACKLIST_KEYS, _WHITELIST_KEYS
|
||||||
|
|
||||||
|
|
|
@ -31,11 +31,6 @@ if HAS_PYOBJC:
|
||||||
import rumps
|
import rumps
|
||||||
|
|
||||||
import plexpy
|
import plexpy
|
||||||
if plexpy.PYTHON2:
|
|
||||||
import common
|
|
||||||
import logger
|
|
||||||
import versioncheck
|
|
||||||
else:
|
|
||||||
from plexpy import common
|
from plexpy import common
|
||||||
from plexpy import logger
|
from plexpy import logger
|
||||||
from plexpy import versioncheck
|
from plexpy import versioncheck
|
||||||
|
|
|
@ -22,11 +22,6 @@ import requests
|
||||||
import threading
|
import threading
|
||||||
|
|
||||||
import plexpy
|
import plexpy
|
||||||
if plexpy.PYTHON2:
|
|
||||||
import database
|
|
||||||
import helpers
|
|
||||||
import logger
|
|
||||||
else:
|
|
||||||
from plexpy import database
|
from plexpy import database
|
||||||
from plexpy import helpers
|
from plexpy import helpers
|
||||||
from plexpy import logger
|
from plexpy import logger
|
||||||
|
|
|
@ -24,12 +24,6 @@ from apscheduler.triggers.cron import CronTrigger
|
||||||
import email.utils
|
import email.utils
|
||||||
|
|
||||||
import plexpy
|
import plexpy
|
||||||
if plexpy.PYTHON2:
|
|
||||||
import database
|
|
||||||
import helpers
|
|
||||||
import logger
|
|
||||||
import newsletters
|
|
||||||
else:
|
|
||||||
from plexpy import database
|
from plexpy import database
|
||||||
from plexpy import helpers
|
from plexpy import helpers
|
||||||
from plexpy import logger
|
from plexpy import logger
|
||||||
|
|
|
@ -30,16 +30,6 @@ import os
|
||||||
import re
|
import re
|
||||||
|
|
||||||
import plexpy
|
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 common
|
||||||
from plexpy import database
|
from plexpy import database
|
||||||
from plexpy import helpers
|
from plexpy import helpers
|
||||||
|
|
|
@ -39,18 +39,6 @@ import threading
|
||||||
import musicbrainzngs
|
import musicbrainzngs
|
||||||
|
|
||||||
import plexpy
|
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 activity_processor
|
||||||
from plexpy import common
|
from plexpy import common
|
||||||
from plexpy import database
|
from plexpy import database
|
||||||
|
@ -2071,10 +2059,6 @@ class CustomFormatter(Formatter):
|
||||||
obj = self.convert_field(obj, conversion)
|
obj = self.convert_field(obj, conversion)
|
||||||
|
|
||||||
# expand the format spec, if needed
|
# 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, auto_arg_index = self._vformat(
|
||||||
format_spec, args, kwargs,
|
format_spec, args, kwargs,
|
||||||
used_args, recursion_depth-1,
|
used_args, recursion_depth-1,
|
||||||
|
@ -2090,7 +2074,4 @@ class CustomFormatter(Formatter):
|
||||||
result.append(suffix)
|
result.append(suffix)
|
||||||
# result.append(self.format_field(obj, format_spec))
|
# 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
|
||||||
|
|
|
@ -61,16 +61,6 @@ import facebook
|
||||||
import twitter
|
import twitter
|
||||||
|
|
||||||
import plexpy
|
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 common
|
||||||
from plexpy import database
|
from plexpy import database
|
||||||
from plexpy import helpers
|
from plexpy import helpers
|
||||||
|
@ -3450,9 +3440,6 @@ class SCRIPTS(Notifier):
|
||||||
if self.pythonpath and plexpy.INSTALL_TYPE not in ('windows', 'macos'):
|
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])
|
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 = os.environ.copy()
|
||||||
env.update(custom_env)
|
env.update(custom_env)
|
||||||
|
|
||||||
|
@ -3557,9 +3544,6 @@ class SCRIPTS(Notifier):
|
||||||
|
|
||||||
script.extend(script_args)
|
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 :: Full script is: %s" % script)
|
||||||
logger.debug("Tautulli Notifiers :: Executing script in a new thread.")
|
logger.debug("Tautulli Notifiers :: Executing script in a new thread.")
|
||||||
thread = threading.Thread(target=self.run_script, args=(script, user_id)).start()
|
thread = threading.Thread(target=self.run_script, args=(script, user_id)).start()
|
||||||
|
|
|
@ -20,9 +20,6 @@ from future.builtins import object
|
||||||
from future.builtins import str
|
from future.builtins import str
|
||||||
|
|
||||||
import plexpy
|
import plexpy
|
||||||
if plexpy.PYTHON2:
|
|
||||||
import logger
|
|
||||||
else:
|
|
||||||
from plexpy import logger
|
from plexpy import logger
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -23,13 +23,6 @@ import sqlite3
|
||||||
from xml.dom import minidom
|
from xml.dom import minidom
|
||||||
|
|
||||||
import plexpy
|
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 activity_processor
|
||||||
from plexpy import database
|
from plexpy import database
|
||||||
from plexpy import helpers
|
from plexpy import helpers
|
||||||
|
|
|
@ -24,16 +24,6 @@ from future.moves.urllib.parse import unquote
|
||||||
import json
|
import json
|
||||||
|
|
||||||
import plexpy
|
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 common
|
||||||
from plexpy import helpers
|
from plexpy import helpers
|
||||||
from plexpy import http_handler
|
from plexpy import http_handler
|
||||||
|
|
|
@ -22,13 +22,6 @@ import sqlite3
|
||||||
from xml.dom import minidom
|
from xml.dom import minidom
|
||||||
|
|
||||||
import plexpy
|
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 activity_processor
|
||||||
from plexpy import database
|
from plexpy import database
|
||||||
from plexpy import helpers
|
from plexpy import helpers
|
||||||
|
|
|
@ -27,17 +27,6 @@ from future.moves.urllib.parse import quote, quote_plus, urlencode
|
||||||
from xml.dom.minidom import Node
|
from xml.dom.minidom import Node
|
||||||
|
|
||||||
import plexpy
|
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 activity_processor
|
||||||
from plexpy import common
|
from plexpy import common
|
||||||
from plexpy import helpers
|
from plexpy import helpers
|
||||||
|
|
|
@ -26,10 +26,6 @@ import requests
|
||||||
from requests.packages import urllib3
|
from requests.packages import urllib3
|
||||||
|
|
||||||
import plexpy
|
import plexpy
|
||||||
if plexpy.PYTHON2:
|
|
||||||
import lock
|
|
||||||
import logger
|
|
||||||
else:
|
|
||||||
from plexpy import lock
|
from plexpy import lock
|
||||||
from plexpy import logger
|
from plexpy import logger
|
||||||
|
|
||||||
|
|
|
@ -21,10 +21,6 @@ from future.builtins import str
|
||||||
import cherrypy
|
import cherrypy
|
||||||
|
|
||||||
import plexpy
|
import plexpy
|
||||||
if plexpy.PYTHON2:
|
|
||||||
import common
|
|
||||||
import users
|
|
||||||
else:
|
|
||||||
from plexpy import common
|
from plexpy import common
|
||||||
from plexpy import users
|
from plexpy import users
|
||||||
|
|
||||||
|
|
|
@ -26,16 +26,6 @@ import httpagentparser
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
|
||||||
import plexpy
|
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 common
|
||||||
from plexpy import database
|
from plexpy import database
|
||||||
from plexpy import datatables
|
from plexpy import datatables
|
||||||
|
|
|
@ -29,12 +29,6 @@ import subprocess
|
||||||
import tarfile
|
import tarfile
|
||||||
|
|
||||||
import plexpy
|
import plexpy
|
||||||
if plexpy.PYTHON2:
|
|
||||||
import common
|
|
||||||
import helpers
|
|
||||||
import logger
|
|
||||||
import request
|
|
||||||
else:
|
|
||||||
from plexpy import common
|
from plexpy import common
|
||||||
from plexpy import helpers
|
from plexpy import helpers
|
||||||
from plexpy import logger
|
from plexpy import logger
|
||||||
|
@ -292,9 +286,6 @@ def check_github(scheduler=False, notify=False, use_cache=False):
|
||||||
'plexpy_update_commit': plexpy.LATEST_VERSION,
|
'plexpy_update_commit': plexpy.LATEST_VERSION,
|
||||||
'plexpy_update_behind': plexpy.COMMITS_BEHIND})
|
'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 \
|
elif scheduler and plexpy.CONFIG.PLEXPY_AUTO_UPDATE and \
|
||||||
not plexpy.DOCKER and not plexpy.SNAP and not plexpy.FROZEN:
|
not plexpy.DOCKER and not plexpy.SNAP and not plexpy.FROZEN:
|
||||||
logger.info('Running automatic update.')
|
logger.info('Running automatic update.')
|
||||||
|
@ -307,10 +298,6 @@ def check_github(scheduler=False, notify=False, use_cache=False):
|
||||||
|
|
||||||
|
|
||||||
def update():
|
def update():
|
||||||
if plexpy.PYTHON2:
|
|
||||||
logger.warn('Tautulli is running using Python 2. Unable to update.')
|
|
||||||
return
|
|
||||||
|
|
||||||
if not plexpy.UPDATE_AVAILABLE:
|
if not plexpy.UPDATE_AVAILABLE:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
|
@ -29,13 +29,6 @@ import certifi
|
||||||
import websocket
|
import websocket
|
||||||
|
|
||||||
import plexpy
|
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_handler
|
||||||
from plexpy import activity_pinger
|
from plexpy import activity_pinger
|
||||||
from plexpy import activity_processor
|
from plexpy import activity_processor
|
||||||
|
|
|
@ -30,13 +30,6 @@ from hashing_passwords import check_hash
|
||||||
import jwt
|
import jwt
|
||||||
|
|
||||||
import plexpy
|
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 import logger
|
||||||
from plexpy.database import MonitorDatabase
|
from plexpy.database import MonitorDatabase
|
||||||
from plexpy.helpers import timestamp
|
from plexpy.helpers import timestamp
|
||||||
|
|
|
@ -49,42 +49,6 @@ if sys.version_info >= (3, 6):
|
||||||
import secrets
|
import secrets
|
||||||
|
|
||||||
import plexpy
|
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_pinger
|
||||||
from plexpy import activity_processor
|
from plexpy import activity_processor
|
||||||
from plexpy import common
|
from plexpy import common
|
||||||
|
@ -4367,8 +4331,6 @@ class WebInterface(object):
|
||||||
@cherrypy.expose
|
@cherrypy.expose
|
||||||
@requireAuth(member_of("admin"))
|
@requireAuth(member_of("admin"))
|
||||||
def update(self, **kwargs):
|
def update(self, **kwargs):
|
||||||
if plexpy.PYTHON2:
|
|
||||||
raise cherrypy.HTTPRedirect(plexpy.HTTP_ROOT + "home?update=python2")
|
|
||||||
if plexpy.DOCKER or plexpy.SNAP:
|
if plexpy.DOCKER or plexpy.SNAP:
|
||||||
raise cherrypy.HTTPRedirect(plexpy.HTTP_ROOT + "home")
|
raise cherrypy.HTTPRedirect(plexpy.HTTP_ROOT + "home")
|
||||||
|
|
||||||
|
|
|
@ -22,12 +22,6 @@ import sys
|
||||||
import cherrypy
|
import cherrypy
|
||||||
|
|
||||||
import plexpy
|
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 logger
|
||||||
from plexpy import webauth
|
from plexpy import webauth
|
||||||
from plexpy.helpers import create_https_certificates
|
from plexpy.helpers import create_https_certificates
|
||||||
|
|
|
@ -30,11 +30,6 @@ except ImportError:
|
||||||
import _winreg as winreg
|
import _winreg as winreg
|
||||||
|
|
||||||
import plexpy
|
import plexpy
|
||||||
if plexpy.PYTHON2:
|
|
||||||
import common
|
|
||||||
import logger
|
|
||||||
import versioncheck
|
|
||||||
else:
|
|
||||||
from plexpy import common
|
from plexpy import common
|
||||||
from plexpy import logger
|
from plexpy import logger
|
||||||
from plexpy import versioncheck
|
from plexpy import versioncheck
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue