Fixed an issue that prevented the password reset tokens from working. Added email templates for password reset success and new account creation. Added more dynamic email template support.
79 lines
1.4 KiB
Python
79 lines
1.4 KiB
Python
"""
|
|
requests.compat
|
|
~~~~~~~~~~~~~~~
|
|
|
|
This module previously handled import compatibility issues
|
|
between Python 2 and Python 3. It remains for backwards
|
|
compatibility until the next major version.
|
|
"""
|
|
|
|
try:
|
|
import chardet
|
|
except ImportError:
|
|
import charset_normalizer as chardet
|
|
|
|
import sys
|
|
|
|
# -------
|
|
# Pythons
|
|
# -------
|
|
|
|
# Syntax sugar.
|
|
_ver = sys.version_info
|
|
|
|
#: Python 2.x?
|
|
is_py2 = _ver[0] == 2
|
|
|
|
#: Python 3.x?
|
|
is_py3 = _ver[0] == 3
|
|
|
|
# json/simplejson module import resolution
|
|
has_simplejson = False
|
|
try:
|
|
import simplejson as json
|
|
|
|
has_simplejson = True
|
|
except ImportError:
|
|
import json
|
|
|
|
if has_simplejson:
|
|
from simplejson import JSONDecodeError
|
|
else:
|
|
from json import JSONDecodeError
|
|
|
|
# Keep OrderedDict for backwards compatibility.
|
|
from collections import OrderedDict
|
|
from collections.abc import Callable, Mapping, MutableMapping
|
|
from http import cookiejar as cookielib
|
|
from http.cookies import Morsel
|
|
from io import StringIO
|
|
|
|
# --------------
|
|
# Legacy Imports
|
|
# --------------
|
|
from urllib.parse import (
|
|
quote,
|
|
quote_plus,
|
|
unquote,
|
|
unquote_plus,
|
|
urldefrag,
|
|
urlencode,
|
|
urljoin,
|
|
urlparse,
|
|
urlsplit,
|
|
urlunparse,
|
|
)
|
|
from urllib.request import (
|
|
getproxies,
|
|
getproxies_environment,
|
|
parse_http_list,
|
|
proxy_bypass,
|
|
proxy_bypass_environment,
|
|
)
|
|
|
|
builtin_str = str
|
|
str = str
|
|
bytes = bytes
|
|
basestring = (str, bytes)
|
|
numeric_types = (int, float)
|
|
integer_types = (int,)
|