Utilities/binplistlib.py

changeset 5604
b047181a4a33
parent 5587
ea526b78ee6c
child 5624
cdd346d8858b
diff -r 4f2dd0850803 -r b047181a4a33 Utilities/binplistlib.py
--- a/Utilities/binplistlib.py	Sat Mar 11 14:35:22 2017 +0100
+++ b/Utilities/binplistlib.py	Sat Mar 11 18:08:42 2017 +0100
@@ -344,7 +344,7 @@
         result = None
         tmp_byte = self.contents[self.currentOffset:self.currentOffset + 1]
         marker_byte = unpack("!B", tmp_byte)[0]
-        format = (marker_byte >> 4) & 0x0f
+        formatNibble = (marker_byte >> 4) & 0x0f
         extra = marker_byte & 0x0f
         self.currentOffset += 1
         
@@ -355,7 +355,7 @@
             return extra
         
         # bool, null, or fill byte
-        if format == 0b0000:
+        if formatNibble == 0b0000:
             if extra == 0b0000:
                 result = None
             elif extra == 0b1000:
@@ -369,61 +369,61 @@
                     "Invalid object found at offset: {0}".format(
                         self.currentOffset - 1))
         # int
-        elif format == 0b0001:
+        elif formatNibble == 0b0001:
             extra = proc_extra(extra)
             result = self.readInteger(pow(2, extra))
         # real
-        elif format == 0b0010:
+        elif formatNibble == 0b0010:
             extra = proc_extra(extra)
             result = self.readReal(extra)
         # date
-        elif format == 0b0011 and extra == 0b0011:
+        elif formatNibble == 0b0011 and extra == 0b0011:
             result = self.readDate()
         # data
-        elif format == 0b0100:
+        elif formatNibble == 0b0100:
             extra = proc_extra(extra)
             result = self.readData(extra)
         # ascii string
-        elif format == 0b0101:
+        elif formatNibble == 0b0101:
             extra = proc_extra(extra)
             result = self.readAsciiString(extra)
         # Unicode string
-        elif format == 0b0110:
+        elif formatNibble == 0b0110:
             extra = proc_extra(extra)
             result = self.readUnicode(extra)
         # uid
-        elif format == 0b1000:
+        elif formatNibble == 0b1000:
             result = self.readUid(extra)
         # array
-        elif format == 0b1010:
+        elif formatNibble == 0b1010:
             extra = proc_extra(extra)
             result = self.readArray(extra)
         # set
-        elif format == 0b1100:
+        elif formatNibble == 0b1100:
             extra = proc_extra(extra)
             result = set(self.readArray(extra))
         # dict
-        elif format == 0b1101:
+        elif formatNibble == 0b1101:
             extra = proc_extra(extra)
             result = self.readDict(extra)
         else:
             raise InvalidPlistException(
                 "Invalid object found: {{format: {0}, extra: {1}}}".format(
-                    bin(format), bin(extra)))
+                    bin(formatNibble), bin(extra)))
         return result
     
-    def readInteger(self, bytes):
+    def readInteger(self, length):
         """
         Public method to read an Integer object.
         
-        @param bytes length of the object (integer)
+        @param length length of the object (integer)
         @return integer object
         """
         result = 0
         original_offset = self.currentOffset
-        data = self.contents[self.currentOffset:self.currentOffset + bytes]
-        result = self.getSizedInteger(data, bytes)
-        self.currentOffset = original_offset + bytes
+        data = self.contents[self.currentOffset:self.currentOffset + length]
+        result = self.getSizedInteger(data, length)
+        self.currentOffset = original_offset + length
         return result
     
     def readReal(self, length):
@@ -565,25 +565,25 @@
         """
         return Uid(self.readInteger(length + 1))
     
-    def getSizedInteger(self, data, bytes):
+    def getSizedInteger(self, data, length):
         """
         Public method to read an integer of a specific size.
         
         @param data data to extract the integer from (bytes)
-        @param bytes length of the integer (integer)
+        @param length length of the integer (integer)
         @return read integer (integer)
         @exception InvalidPlistException raised to indicate an invalid
             plist file
         """
         result = 0
         # 1, 2, and 4 byte integers are unsigned
-        if bytes == 1:
+        if length == 1:
             result = unpack('>B', data)[0]
-        elif bytes == 2:
+        elif length == 2:
             result = unpack('>H', data)[0]
-        elif bytes == 4:
+        elif length == 4:
             result = unpack('>L', data)[0]
-        elif bytes == 8:
+        elif length == 8:
             result = unpack('>q', data)[0]
         else:
             raise InvalidPlistException(
@@ -762,7 +762,7 @@
                 n.append(self.wrapRoot(value))
             return HashableWrapper(n)
         elif isinstance(root, tuple):
-            n = tuple([self.wrapRoot(value) for value in root])
+            n = tuple(self.wrapRoot(value) for value in root)
             return HashableWrapper(n)
         else:
             return root
@@ -901,13 +901,13 @@
             position the object was written to shall be recorded (boolean)
         @return new output
         """
-        def proc_variable_length(format, length):
+        def proc_variable_length(formatNibble, length):
             result = ''
             if length > 0b1110:
-                result += pack('!B', (format << 4) | 0b1111)
+                result += pack('!B', (formatNibble << 4) | 0b1111)
                 result = self.writeObject(length, result)
             else:
-                result += pack('!B', (format << 4) | length)
+                result += pack('!B', (formatNibble << 4) | length)
             return result
         
         if setReferencePosition:
@@ -925,8 +925,8 @@
             output += pack('!B', (0b1000 << 4) | size - 1)
             output += self.binaryInt(obj)
         elif isinstance(obj, int):
-            bytes = self.intSize(obj)
-            root = math.log(bytes, 2)
+            length = self.intSize(obj)
+            root = math.log(length, 2)
             output += pack('!B', (0b0001 << 4) | int(root))
             output += self.binaryInt(obj)
         elif isinstance(obj, float):
@@ -943,9 +943,9 @@
             output += obj
         elif isinstance(obj, str):
             # Python 3 uses unicode strings only
-            bytes = obj.encode('utf_16_be')
-            output += proc_variable_length(0b0110, len(bytes) / 2)
-            output += bytes
+            length = obj.encode('utf_16_be')
+            output += proc_variable_length(0b0110, len(length) / 2)
+            output += length
         elif isinstance(obj, HashableWrapper):
             obj = obj.value
             if isinstance(obj, (set, list, tuple)):
@@ -1016,26 +1016,26 @@
         result = pack('>d', obj)
         return result
     
-    def binaryInt(self, obj, bytes=None):
+    def binaryInt(self, obj, length=None):
         """
         Public method to pack an integer object.
         
         @param obj integer to be packed
-        @param bytes length the integer should be packed into (integer)
+        @param length length the integer should be packed into (integer)
         @return serialized object (bytes)
         @exception InvalidPlistException raised to indicate an invalid
             plist file
         """
         result = ''
-        if bytes is None:
-            bytes = self.intSize(obj)
-        if bytes == 1:
+        if length is None:
+            length = self.intSize(obj)
+        if length == 1:
             result += pack('>B', obj)
-        elif bytes == 2:
+        elif length == 2:
             result += pack('>H', obj)
-        elif bytes == 4:
+        elif length == 4:
             result += pack('>L', obj)
-        elif bytes == 8:
+        elif length == 8:
             result += pack('>q', obj)
         else:
             raise InvalidPlistException(

eric ide

mercurial