Initial python3 changes

Mostly just updating libraries, removing string encoding/decoding,
fixing some edge cases. No new functionality was added in this
commit.
This commit is contained in:
rembo10
2022-01-14 10:38:03 +05:30
parent 9a7006ad14
commit ab4dd18be4
813 changed files with 146338 additions and 65753 deletions
+15 -15
View File
@@ -56,20 +56,20 @@ import sys
import time
try:
unicode
str
unicodeEmpty = r''
except NameError:
unicode = str
str = str
unicodeEmpty = ''
try:
long
int
except NameError:
long = int
try:
{}.iteritems
iteritems = lambda x: x.iteritems()
iteritems = lambda x: iter(x.items())
except AttributeError:
iteritems = lambda x: x.items()
iteritems = lambda x: list(x.items())
__all__ = [
'Uid', 'Data', 'readPlist', 'writePlist', 'readPlistFromString',
@@ -101,7 +101,7 @@ def readPlist(pathOrFile):
"""Raises NotBinaryPlistException, InvalidPlistException"""
didOpen = False
result = None
if isinstance(pathOrFile, (bytes, unicode)):
if isinstance(pathOrFile, (bytes, str)):
pathOrFile = open(pathOrFile, 'rb')
didOpen = True
try:
@@ -113,7 +113,7 @@ def readPlist(pathOrFile):
result = None
if hasattr(plistlib, 'loads'):
contents = None
if isinstance(pathOrFile, (bytes, unicode)):
if isinstance(pathOrFile, (bytes, str)):
with open(pathOrFile, 'rb') as f:
contents = f.read()
else:
@@ -152,7 +152,7 @@ def writePlist(rootObject, pathOrFile, binary=True):
if not binary:
rootObject = wrapDataObject(rootObject, binary)
if hasattr(plistlib, "dump"):
if isinstance(pathOrFile, (bytes, unicode)):
if isinstance(pathOrFile, (bytes, str)):
with open(pathOrFile, 'wb') as f:
return plistlib.dump(rootObject, f)
else:
@@ -161,7 +161,7 @@ def writePlist(rootObject, pathOrFile, binary=True):
return plistlib.writePlist(rootObject, pathOrFile)
else:
didOpen = False
if isinstance(pathOrFile, (bytes, unicode)):
if isinstance(pathOrFile, (bytes, str)):
pathOrFile = open(pathOrFile, 'wb')
didOpen = True
writer = PlistWriter(pathOrFile)
@@ -564,7 +564,7 @@ class PlistWriter(object):
raise InvalidPlistException('Dictionary keys cannot be null in plists.')
elif isinstance(key, Data):
raise InvalidPlistException('Data cannot be dictionary keys in plists.')
elif not isinstance(key, (bytes, unicode)):
elif not isinstance(key, (bytes, str)):
raise InvalidPlistException('Keys must be strings.')
def proc_size(size):
@@ -586,7 +586,7 @@ class PlistWriter(object):
elif isinstance(obj, Uid):
size = self.intSize(obj)
self.incrementByteCount('uidBytes', incr=1+size)
elif isinstance(obj, (int, long)):
elif isinstance(obj, int):
size = self.intSize(obj)
self.incrementByteCount('intBytes', incr=1+size)
elif isinstance(obj, FloatWrapper):
@@ -597,7 +597,7 @@ class PlistWriter(object):
elif isinstance(obj, Data):
size = proc_size(len(obj))
self.incrementByteCount('dataBytes', incr=1+size)
elif isinstance(obj, (unicode, bytes)):
elif isinstance(obj, (str, bytes)):
size = proc_size(len(obj))
self.incrementByteCount('stringBytes', incr=1+size)
elif isinstance(obj, HashableWrapper):
@@ -653,7 +653,7 @@ class PlistWriter(object):
result += pack('!B', (format << 4) | length)
return result
if isinstance(obj, (str, unicode)) and obj == unicodeEmpty:
if isinstance(obj, str) and obj == unicodeEmpty:
# The Apple Plist decoder can't decode a zero length Unicode string.
obj = b''
@@ -671,7 +671,7 @@ class PlistWriter(object):
size = self.intSize(obj)
output += pack('!B', (0b1000 << 4) | size - 1)
output += self.binaryInt(obj)
elif isinstance(obj, (int, long)):
elif isinstance(obj, int):
byteSize = self.intSize(obj)
root = math.log(byteSize, 2)
output += pack('!B', (0b0001 << 4) | int(root))
@@ -687,7 +687,7 @@ class PlistWriter(object):
elif isinstance(obj, Data):
output += proc_variable_length(0b0100, len(obj))
output += obj
elif isinstance(obj, unicode):
elif isinstance(obj, str):
byteData = obj.encode('utf_16_be')
output += proc_variable_length(0b0110, len(byteData)//2)
output += byteData