diff --git a/Tautulli.py b/Tautulli.py index eebfa55a..5d7f60df 100755 --- a/Tautulli.py +++ b/Tautulli.py @@ -23,7 +23,6 @@ import sys # Ensure lib added to path, before any other imports sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), 'lib')) -from future.builtins import str import appdirs import argparse diff --git a/plexpy/__init__.py b/plexpy/__init__.py index ab1dafba..63f37035 100644 --- a/plexpy/__init__.py +++ b/plexpy/__init__.py @@ -13,14 +13,11 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import range -from future.builtins import str import ctypes import datetime import os -import future.moves.queue as queue +import queue import sqlite3 import sys import subprocess diff --git a/plexpy/activity_handler.py b/plexpy/activity_handler.py index ca873a8b..f2bcda50 100644 --- a/plexpy/activity_handler.py +++ b/plexpy/activity_handler.py @@ -13,9 +13,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import str -from future.builtins import object import datetime import os diff --git a/plexpy/activity_pinger.py b/plexpy/activity_pinger.py index 93b52535..4f34c168 100644 --- a/plexpy/activity_pinger.py +++ b/plexpy/activity_pinger.py @@ -13,8 +13,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import str import threading diff --git a/plexpy/activity_processor.py b/plexpy/activity_processor.py index 9bebd152..256565c4 100644 --- a/plexpy/activity_processor.py +++ b/plexpy/activity_processor.py @@ -13,9 +13,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import str -from future.builtins import object from collections import defaultdict import json diff --git a/plexpy/api2.py b/plexpy/api2.py index c0dee8ed..9e44ca4f 100644 --- a/plexpy/api2.py +++ b/plexpy/api2.py @@ -16,9 +16,6 @@ # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import str -from future.builtins import object from hashing_passwords import check_hash from io import open diff --git a/plexpy/classes.py b/plexpy/classes.py index 0c220bbc..7cd39f53 100644 --- a/plexpy/classes.py +++ b/plexpy/classes.py @@ -20,9 +20,8 @@ ######################################### -from __future__ import unicode_literals -from future.moves.urllib.request import FancyURLopener +from urllib.request import FancyURLopener import plexpy from plexpy.common import USER_AGENT diff --git a/plexpy/common.py b/plexpy/common.py index e997d38c..20ddb2df 100644 --- a/plexpy/common.py +++ b/plexpy/common.py @@ -15,7 +15,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals import distro import platform diff --git a/plexpy/config.py b/plexpy/config.py index decf46f9..4c14742d 100644 --- a/plexpy/config.py +++ b/plexpy/config.py @@ -13,9 +13,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import object -from future.builtins import str import os import re diff --git a/plexpy/database.py b/plexpy/database.py index 514a38c9..657aaf96 100644 --- a/plexpy/database.py +++ b/plexpy/database.py @@ -13,9 +13,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import str -from future.builtins import object import os import sqlite3 diff --git a/plexpy/datafactory.py b/plexpy/datafactory.py index 76113cd0..c01c0f7a 100644 --- a/plexpy/datafactory.py +++ b/plexpy/datafactory.py @@ -15,11 +15,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import division -from __future__ import unicode_literals -from future.builtins import next -from future.builtins import str -from future.builtins import object import json diff --git a/plexpy/datatables.py b/plexpy/datatables.py index ce78ef8f..c820bf1e 100644 --- a/plexpy/datatables.py +++ b/plexpy/datatables.py @@ -13,8 +13,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import object import re diff --git a/plexpy/exceptions.py b/plexpy/exceptions.py index 96bb1032..4d4f2e88 100644 --- a/plexpy/exceptions.py +++ b/plexpy/exceptions.py @@ -13,7 +13,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals class PlexPyException(Exception): diff --git a/plexpy/exporter.py b/plexpy/exporter.py index 7d8a005d..a985709b 100644 --- a/plexpy/exporter.py +++ b/plexpy/exporter.py @@ -15,8 +15,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import str import csv import json diff --git a/plexpy/graphs.py b/plexpy/graphs.py index 8a7fff5b..6352859e 100644 --- a/plexpy/graphs.py +++ b/plexpy/graphs.py @@ -15,10 +15,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import str -from future.builtins import range -from future.builtins import object import arrow import datetime diff --git a/plexpy/helpers.py b/plexpy/helpers.py index 86bf5881..e38c0619 100644 --- a/plexpy/helpers.py +++ b/plexpy/helpers.py @@ -15,11 +15,7 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import division -from __future__ import unicode_literals -from future.builtins import zip -from future.builtins import str import arrow import base64 @@ -50,7 +46,7 @@ import string import sys import time import unicodedata -from future.moves.urllib.parse import urlencode +from urllib.parse import urlencode from xml.dom import minidom import xmltodict diff --git a/plexpy/http_handler.py b/plexpy/http_handler.py index aaddfcc5..c1026d2b 100644 --- a/plexpy/http_handler.py +++ b/plexpy/http_handler.py @@ -15,12 +15,9 @@ # You should have received a copy of the GNU General Public License # along with PlexPy. If not, see . -from __future__ import unicode_literals -from future.builtins import object -from future.builtins import str from multiprocessing.dummy import Pool as ThreadPool -from future.moves.urllib.parse import urljoin +from urllib.parse import urljoin import certifi import requests diff --git a/plexpy/libraries.py b/plexpy/libraries.py index fb9c638b..2e342644 100644 --- a/plexpy/libraries.py +++ b/plexpy/libraries.py @@ -15,10 +15,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import str -from future.builtins import next -from future.builtins import object import json import os diff --git a/plexpy/lock.py b/plexpy/lock.py index bd21840f..e0cbc632 100644 --- a/plexpy/lock.py +++ b/plexpy/lock.py @@ -15,10 +15,8 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import object -import future.moves.queue as queue +import queue import time import threading diff --git a/plexpy/log_reader.py b/plexpy/log_reader.py index d2e207bb..63a55d71 100644 --- a/plexpy/log_reader.py +++ b/plexpy/log_reader.py @@ -15,7 +15,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals from io import open import os diff --git a/plexpy/logger.py b/plexpy/logger.py index a4c0cad7..dcf509b9 100644 --- a/plexpy/logger.py +++ b/plexpy/logger.py @@ -15,8 +15,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import str from logging import handlers diff --git a/plexpy/mobile_app.py b/plexpy/mobile_app.py index c23d8540..16d59deb 100644 --- a/plexpy/mobile_app.py +++ b/plexpy/mobile_app.py @@ -15,8 +15,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import str import requests import threading diff --git a/plexpy/newsletter_handler.py b/plexpy/newsletter_handler.py index 92af7f71..e1dcebfd 100644 --- a/plexpy/newsletter_handler.py +++ b/plexpy/newsletter_handler.py @@ -15,7 +15,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals from io import open import os diff --git a/plexpy/newsletters.py b/plexpy/newsletters.py index 1f388ad8..d74f81ef 100644 --- a/plexpy/newsletters.py +++ b/plexpy/newsletters.py @@ -15,10 +15,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import next -from future.builtins import str -from future.builtins import object import arrow from collections import OrderedDict diff --git a/plexpy/notification_handler.py b/plexpy/notification_handler.py index 6e1f7019..6e874d49 100644 --- a/plexpy/notification_handler.py +++ b/plexpy/notification_handler.py @@ -16,12 +16,6 @@ # along with Tautulli. If not, see . -from __future__ import division -from __future__ import unicode_literals -from future.builtins import next -from future.builtins import map -from future.builtins import str -from future.builtins import range import arrow import bleach diff --git a/plexpy/notifiers.py b/plexpy/notifiers.py index 39721f58..b80e7f79 100644 --- a/plexpy/notifiers.py +++ b/plexpy/notifiers.py @@ -15,9 +15,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import str -from future.builtins import object import base64 import bleach @@ -37,8 +34,8 @@ import subprocess import sys import threading import time -from future.moves.urllib.parse import urlencode -from future.moves.urllib.parse import urlparse +from urllib.parse import urlencode +from urllib.parse import urlparse try: from Cryptodome.Protocol.KDF import PBKDF2 diff --git a/plexpy/plex.py b/plexpy/plex.py index 831e1185..ef4c8736 100644 --- a/plexpy/plex.py +++ b/plexpy/plex.py @@ -15,9 +15,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import object -from future.builtins import str import plexpy from plexpy import logger diff --git a/plexpy/plexivity_import.py b/plexpy/plexivity_import.py index 08cc28d9..38933847 100644 --- a/plexpy/plexivity_import.py +++ b/plexpy/plexivity_import.py @@ -15,8 +15,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import str import arrow import sqlite3 diff --git a/plexpy/plextv.py b/plexpy/plextv.py index 0675b207..44a1ac30 100644 --- a/plexpy/plextv.py +++ b/plexpy/plextv.py @@ -15,11 +15,7 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import next -from future.builtins import str -from future.builtins import object -from future.moves.urllib.parse import unquote +from urllib.parse import unquote import json diff --git a/plexpy/plexwatch_import.py b/plexpy/plexwatch_import.py index d9cb26a2..ae356447 100644 --- a/plexpy/plexwatch_import.py +++ b/plexpy/plexwatch_import.py @@ -15,8 +15,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import str import sqlite3 from xml.dom import minidom diff --git a/plexpy/pmsconnect.py b/plexpy/pmsconnect.py index 022f0445..960b81c2 100644 --- a/plexpy/pmsconnect.py +++ b/plexpy/pmsconnect.py @@ -15,15 +15,11 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import next -from future.builtins import str -from future.builtins import object import json import os import time -from future.moves.urllib.parse import quote, quote_plus, urlencode +from urllib.parse import quote, quote_plus, urlencode from xml.dom.minidom import Node import plexpy diff --git a/plexpy/request.py b/plexpy/request.py index 05804d99..c8f68c3b 100644 --- a/plexpy/request.py +++ b/plexpy/request.py @@ -15,8 +15,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import str from bs4 import BeautifulSoup from xml.dom import minidom diff --git a/plexpy/session.py b/plexpy/session.py index 44a52759..2a548d6b 100644 --- a/plexpy/session.py +++ b/plexpy/session.py @@ -15,8 +15,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import str import cherrypy diff --git a/plexpy/users.py b/plexpy/users.py index 98645edb..9fc74313 100644 --- a/plexpy/users.py +++ b/plexpy/users.py @@ -15,11 +15,7 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import next -from future.builtins import str -from future.builtins import object -from future.moves.urllib.parse import parse_qsl +from urllib.parse import parse_qsl import arrow import httpagentparser diff --git a/plexpy/version.py b/plexpy/version.py index 5ca70297..e1e2c0d1 100644 --- a/plexpy/version.py +++ b/plexpy/version.py @@ -15,7 +15,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals PLEXPY_BRANCH = "master" PLEXPY_RELEASE_VERSION = "v2.13.2" \ No newline at end of file diff --git a/plexpy/versioncheck.py b/plexpy/versioncheck.py index 4c849e8c..8c316e4d 100644 --- a/plexpy/versioncheck.py +++ b/plexpy/versioncheck.py @@ -15,10 +15,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import division -from __future__ import unicode_literals -from future.builtins import next -from future.builtins import str import json import os diff --git a/plexpy/web_socket.py b/plexpy/web_socket.py index 96fc2e33..2d0b105c 100644 --- a/plexpy/web_socket.py +++ b/plexpy/web_socket.py @@ -17,8 +17,6 @@ # Mostly borrowed from https://github.com/trakt/Plex-Trakt-Scrobbler -from __future__ import unicode_literals -from future.builtins import str import json import ssl diff --git a/plexpy/webauth.py b/plexpy/webauth.py index 3371ee6e..afbbec93 100644 --- a/plexpy/webauth.py +++ b/plexpy/webauth.py @@ -20,10 +20,9 @@ # Form based authentication for CherryPy. Requires the # Session tool to be loaded. -from future.builtins import object from datetime import datetime, timedelta -from future.moves.urllib.parse import quote, unquote +from urllib.parse import quote, unquote import cherrypy from hashing_passwords import check_hash diff --git a/plexpy/webserve.py b/plexpy/webserve.py index 19fccd24..c944097a 100644 --- a/plexpy/webserve.py +++ b/plexpy/webserve.py @@ -15,10 +15,6 @@ # You should have received a copy of the GNU General Public License # along with Tautulli. If not, see . -from __future__ import unicode_literals -from future.builtins import next -from future.builtins import object -from future.builtins import str import csv from io import open, BytesIO @@ -31,7 +27,7 @@ import shutil import sys import threading import zipfile -from future.moves.urllib.parse import urlencode +from urllib.parse import urlencode import cherrypy from cherrypy.lib.static import serve_file, serve_fileobj, serve_download