mirror of
https://github.com/corpnewt/gibMacOS.git
synced 2024-09-20 09:30:34 +00:00
Python 3.9 compat: Python 3.9 removed the use_builtin_types parameter used in plist.py
This commit is contained in:
parent
07ef24dc36
commit
735328fb0d
1 changed files with 15 additions and 4 deletions
|
@ -74,7 +74,11 @@ def load(fp, fmt=None, use_builtin_types=None, dict_type=dict):
|
||||||
raise plistlib.InvalidFileException()
|
raise plistlib.InvalidFileException()
|
||||||
else:
|
else:
|
||||||
P = plistlib._FORMATS[fmt]['parser']
|
P = plistlib._FORMATS[fmt]['parser']
|
||||||
|
try:
|
||||||
p = P(use_builtin_types=use_builtin_types, dict_type=dict_type)
|
p = P(use_builtin_types=use_builtin_types, dict_type=dict_type)
|
||||||
|
except:
|
||||||
|
# Python 3.9 removed use_builtin_types
|
||||||
|
p = P(dict_type=dict_type)
|
||||||
if isinstance(p,plistlib._PlistParser):
|
if isinstance(p,plistlib._PlistParser):
|
||||||
# Monkey patch!
|
# Monkey patch!
|
||||||
def end_integer():
|
def end_integer():
|
||||||
|
@ -116,15 +120,22 @@ def load(fp, fmt=None, use_builtin_types=None, dict_type=dict):
|
||||||
return p.root
|
return p.root
|
||||||
else:
|
else:
|
||||||
use_builtin_types = False if use_builtin_types == None else use_builtin_types
|
use_builtin_types = False if use_builtin_types == None else use_builtin_types
|
||||||
|
try:
|
||||||
p = _BinaryPlistParser(use_builtin_types=use_builtin_types, dict_type=dict_type)
|
p = _BinaryPlistParser(use_builtin_types=use_builtin_types, dict_type=dict_type)
|
||||||
|
except:
|
||||||
|
# Python 3.9 removed use_builtin_types
|
||||||
|
p = _BinaryPlistParser(dict_type=dict_type)
|
||||||
return p.parse(fp)
|
return p.parse(fp)
|
||||||
|
|
||||||
def loads(value, fmt=None, use_builtin_types=None, dict_type=dict):
|
def loads(value, fmt=None, use_builtin_types=None, dict_type=dict):
|
||||||
if _check_py3() and isinstance(value, basestring):
|
if _check_py3() and isinstance(value, basestring):
|
||||||
# If it's a string - encode it
|
# If it's a string - encode it
|
||||||
value = value.encode()
|
value = value.encode()
|
||||||
|
try:
|
||||||
return load(BytesIO(value),fmt=fmt,use_builtin_types=use_builtin_types,dict_type=dict_type)
|
return load(BytesIO(value),fmt=fmt,use_builtin_types=use_builtin_types,dict_type=dict_type)
|
||||||
|
except:
|
||||||
|
# Python 3.9 removed use_builtin_types
|
||||||
|
return load(BytesIO(value),fmt=fmt,dict_type=dict_type)
|
||||||
def dump(value, fp, fmt=FMT_XML, sort_keys=True, skipkeys=False):
|
def dump(value, fp, fmt=FMT_XML, sort_keys=True, skipkeys=False):
|
||||||
if _check_py3():
|
if _check_py3():
|
||||||
plistlib.dump(value, fp, fmt=fmt, sort_keys=sort_keys, skipkeys=skipkeys)
|
plistlib.dump(value, fp, fmt=fmt, sort_keys=sort_keys, skipkeys=skipkeys)
|
||||||
|
|
Loading…
Reference in a new issue