85 lines
2.4 KiB
Diff
85 lines
2.4 KiB
Diff
--- a/src/3rdparty/chromium/third_party/six/src/six.py
|
|
+++ b/src/3rdparty/chromium/third_party/six/src/six.py
|
|
@@ -29,7 +29,7 @@ import sys
|
|
import types
|
|
|
|
__author__ = "Benjamin Peterson <benjamin@python.org>"
|
|
-__version__ = "1.14.0"
|
|
+__version__ = "1.16.0"
|
|
|
|
|
|
# Useful for very coarse version differentiation.
|
|
@@ -71,6 +71,11 @@ else:
|
|
MAXSIZE = int((1 << 63) - 1)
|
|
del X
|
|
|
|
+if PY34:
|
|
+ from importlib.util import spec_from_loader
|
|
+else:
|
|
+ spec_from_loader = None
|
|
+
|
|
|
|
def _add_doc(func, doc):
|
|
"""Add documentation to a function."""
|
|
@@ -186,6 +191,11 @@ class _SixMetaPathImporter(object):
|
|
return self
|
|
return None
|
|
|
|
+ def find_spec(self, fullname, path, target=None):
|
|
+ if fullname in self.known_modules:
|
|
+ return spec_from_loader(fullname, self)
|
|
+ return None
|
|
+
|
|
def __get_module(self, fullname):
|
|
try:
|
|
return self.known_modules[fullname]
|
|
@@ -223,6 +233,12 @@ class _SixMetaPathImporter(object):
|
|
return None
|
|
get_source = get_code # same as get_code
|
|
|
|
+ def create_module(self, spec):
|
|
+ return self.load_module(spec.name)
|
|
+
|
|
+ def exec_module(self, module):
|
|
+ pass
|
|
+
|
|
_importer = _SixMetaPathImporter(__name__)
|
|
|
|
|
|
@@ -890,12 +906,11 @@ def ensure_binary(s, encoding='utf-8', e
|
|
- `str` -> encoded to `bytes`
|
|
- `bytes` -> `bytes`
|
|
"""
|
|
+ if isinstance(s, binary_type):
|
|
+ return s
|
|
if isinstance(s, text_type):
|
|
return s.encode(encoding, errors)
|
|
- elif isinstance(s, binary_type):
|
|
- return s
|
|
- else:
|
|
- raise TypeError("not expecting type '%s'" % type(s))
|
|
+ raise TypeError("not expecting type '%s'" % type(s))
|
|
|
|
|
|
def ensure_str(s, encoding='utf-8', errors='strict'):
|
|
@@ -909,12 +924,15 @@ def ensure_str(s, encoding='utf-8', erro
|
|
- `str` -> `str`
|
|
- `bytes` -> decoded to `str`
|
|
"""
|
|
- if not isinstance(s, (text_type, binary_type)):
|
|
- raise TypeError("not expecting type '%s'" % type(s))
|
|
+ # Optimization: Fast return for the common case.
|
|
+ if type(s) is str:
|
|
+ return s
|
|
if PY2 and isinstance(s, text_type):
|
|
- s = s.encode(encoding, errors)
|
|
+ return s.encode(encoding, errors)
|
|
elif PY3 and isinstance(s, binary_type):
|
|
- s = s.decode(encoding, errors)
|
|
+ return s.decode(encoding, errors)
|
|
+ elif not isinstance(s, (text_type, binary_type)):
|
|
+ raise TypeError("not expecting type '%s'" % type(s))
|
|
return s
|
|
|
|
|