python-plexapi/plexapi/compat.py

54 lines
1.1 KiB
Python
Raw Normal View History

# -*- coding: utf-8 -*-
# Python 2/3 compatability
# Always try Py3 first
import os
2017-07-30 05:02:10 +00:00
from sys import version_info
ustr = str
if version_info < (3,):
ustr = unicode
2017-01-26 06:44:55 +00:00
try:
string_type = basestring
except NameError:
string_type = str
try:
from urllib.parse import urlencode
except ImportError:
from urllib import urlencode
try:
from urllib.parse import quote
except ImportError:
from urllib import quote
try:
from urllib.parse import quote_plus
except ImportError:
from urllib import quote_plus
2016-12-15 23:06:12 +00:00
try:
from urllib.parse import unquote
except ImportError:
from urllib import unquote
try:
from configparser import ConfigParser
except ImportError:
from ConfigParser import ConfigParser
2017-01-22 04:06:55 +00:00
try:
from xml.etree import cElementTree as ElementTree
except ImportError:
from xml.etree import ElementTree
def makedirs(name, mode=0o777, exist_ok=False):
""" Mimicks os.makedirs() from Python 3. """
try:
os.makedirs(name, mode)
except OSError:
if not os.path.isdir(name) or not exist_ok:
raise