]> granicus.if.org Git - python/commitdiff
Got test_plistlib working. Don't ask how.
authorGuido van Rossum <guido@python.org>
Fri, 31 Aug 2007 14:18:20 +0000 (14:18 +0000)
committerGuido van Rossum <guido@python.org>
Fri, 31 Aug 2007 14:18:20 +0000 (14:18 +0000)
Lib/plat-mac/plistlib.py

index 2a7957ee2583b86542e76f9e6d24c68944898110..e0e01ffbb5a8f4d5e7193ea4f55107f2ac1b45d7 100644 (file)
@@ -260,9 +260,9 @@ class PlistWriter(DumbXMLWriter):
     def writeData(self, data):
         self.beginElement("data")
         self.indentLevel -= 1
-        maxlinelength = 76 - len(self.indent.replace("\t", " " * 8) *
+        maxlinelength = 76 - len(self.indent.replace(b"\t", b" " * 8) *
                                  self.indentLevel)
-        for line in data.asBase64(maxlinelength).split("\n"):
+        for line in data.asBase64(maxlinelength).split(b"\n"):
             if line:
                 self.writeln(line)
         self.indentLevel += 1
@@ -368,11 +368,11 @@ class Data:
             raise TypeError("data must be as bytes")
         self.data = data
 
+    @classmethod
     def fromBase64(cls, data):
         # base64.decodestring just calls binascii.a2b_base64;
         # it seems overkill to use both base64 and binascii.
         return cls(binascii.a2b_base64(data))
-    fromBase64 = classmethod(fromBase64)
 
     def asBase64(self, maxlinelength=76):
         return _encodeBase64(self.data, maxlinelength)
@@ -464,6 +464,6 @@ class PlistParser:
     def end_string(self):
         self.addObject(self.getData())
     def end_data(self):
-        self.addObject(Data.fromBase64(self.getData()))
+        self.addObject(Data.fromBase64(self.getData().encode("utf-8")))
     def end_date(self):
         self.addObject(_dateFromString(self.getData()))