]> granicus.if.org Git - python/commitdiff
Conform to strict str/bytes distinction.
authorLars Gustäbel <lars@gustaebel.de>
Tue, 28 Aug 2007 07:34:33 +0000 (07:34 +0000)
committerLars Gustäbel <lars@gustaebel.de>
Tue, 28 Aug 2007 07:34:33 +0000 (07:34 +0000)
Lib/tarfile.py
Lib/test/test_tarfile.py

index bf67eab3cfd5f428ff92f0322bf931ff1bb53092..98b774a218b75698e0e79a11e459aaecee2eb77e 100644 (file)
@@ -214,7 +214,7 @@ def itn(n, digits=8, format=DEFAULT_FORMAT):
     # encoding, the following digits-1 bytes are a big-endian
     # representation. This allows values up to (256**(digits-1))-1.
     if 0 <= n < 8 ** (digits - 1):
-        s = bytes("%0*o" % (digits - 1, n)) + NUL
+        s = bytes("%0*o" % (digits - 1, n), "ascii") + NUL
     else:
         if format != GNU_FORMAT or n >= 256 ** (digits - 1):
             raise ValueError("overflow in number field")
@@ -604,7 +604,7 @@ class _StreamProxy(object):
     def getcomptype(self):
         if self.buf.startswith(b"\037\213\010"):
             return "gz"
-        if self.buf.startswith("BZh91"):
+        if self.buf.startswith(b"BZh91"):
             return "bz2"
         return "tar"
 
@@ -1108,7 +1108,7 @@ class TarInfo(object):
 
         buf = struct.pack("%ds" % BLOCKSIZE, b"".join(parts))
         chksum = calc_chksums(buf[-BLOCKSIZE:])[0]
-        buf = buf[:-364] + bytes("%06o\0" % chksum) + buf[-357:]
+        buf = buf[:-364] + bytes("%06o\0" % chksum, "ascii") + buf[-357:]
         return buf
 
     @staticmethod
@@ -1155,7 +1155,7 @@ class TarInfo(object):
                 if n == p:
                     break
                 p = n
-            records += bytes(str(p)) + b" " + keyword + b"=" + value + b"\n"
+            records += bytes(str(p), "ascii") + b" " + keyword + b"=" + value + b"\n"
 
         # We use a hardcoded "././@PaxHeader" name like star does
         # instead of the one that POSIX recommends.
index 913ab60c89126da7abad3eacb8cf78e99225e7a1..8a59879789235c03d349a0ef582cff0c967335be 100644 (file)
@@ -481,7 +481,7 @@ class WriteTest(unittest.TestCase):
         tar = tarfile.open(tmpname, self.mode)
         path = os.path.join(TEMPDIR, "file")
         fobj = open(path, "wb")
-        fobj.write("aaa")
+        fobj.write(b"aaa")
         fobj.close()
         tar.add(path)
         tar.close()
@@ -499,7 +499,7 @@ class WriteTest(unittest.TestCase):
         self.assertEqual(tarinfo.size, 0)
 
         fobj = open(path, "wb")
-        fobj.write("aaa")
+        fobj.write(b"aaa")
         fobj.close()
         tarinfo = tar.gettarinfo(path)
         self.assertEqual(tarinfo.size, 3)
@@ -603,7 +603,7 @@ class StreamWriteTest(unittest.TestCase):
             data = fobj.read()
             fobj.close()
 
-        self.assert_(data.count("\0") == tarfile.RECORDSIZE,
+        self.assert_(data.count(b"\0") == tarfile.RECORDSIZE,
                          "incorrect zero padding")
 
 
@@ -693,7 +693,7 @@ class HardlinkTest(unittest.TestCase):
         self.bar = os.path.join(TEMPDIR, "bar")
 
         fobj = open(self.foo, "wb")
-        fobj.write("foo")
+        fobj.write(b"foo")
         fobj.close()
 
         os.link(self.foo, self.bar)