summaryrefslogtreecommitdiffstats
path: root/Demo/zlib
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2010-08-02 23:13:24 (GMT)
committerGeorg Brandl <georg@python.org>2010-08-02 23:13:24 (GMT)
commitfb3b12d0c0b134a60b552d9aa1e23c9d00bccacd (patch)
tree39d97039b14683d8f6cb0509fdbd649e8d8b1140 /Demo/zlib
parent5ec5fed487d2168cc43aecbe9413b19ce8604f29 (diff)
downloadcpython-fb3b12d0c0b134a60b552d9aa1e23c9d00bccacd.zip
cpython-fb3b12d0c0b134a60b552d9aa1e23c9d00bccacd.tar.gz
cpython-fb3b12d0c0b134a60b552d9aa1e23c9d00bccacd.tar.bz2
Make minigzip work again.
Diffstat (limited to 'Demo/zlib')
-rwxr-xr-xDemo/zlib/minigzip.py43
1 files changed, 22 insertions, 21 deletions
diff --git a/Demo/zlib/minigzip.py b/Demo/zlib/minigzip.py
index b2af7f9..52e81b9 100755
--- a/Demo/zlib/minigzip.py
+++ b/Demo/zlib/minigzip.py
@@ -10,10 +10,10 @@ import zlib, sys, os
FTEXT, FHCRC, FEXTRA, FNAME, FCOMMENT = 1, 2, 4, 8, 16
def write32(output, value):
- output.write(chr(value & 255)) ; value=value // 256
- output.write(chr(value & 255)) ; value=value // 256
- output.write(chr(value & 255)) ; value=value // 256
- output.write(chr(value & 255))
+ output.write(bytes([value & 255])) ; value=value // 256
+ output.write(bytes([value & 255])) ; value=value // 256
+ output.write(bytes([value & 255])) ; value=value // 256
+ output.write(bytes([value & 255]))
def read32(input):
v = ord(input.read(1))
@@ -22,23 +22,24 @@ def read32(input):
v += (ord(input.read(1)) << 24)
return v
-def compress (filename, input, output):
- output.write('\037\213\010') # Write the header, ...
- output.write(chr(FNAME)) # ... flag byte ...
+def compress(filename, input, output):
+ output.write(b'\037\213\010') # Write the header, ...
+ output.write(bytes([FNAME])) # ... flag byte ...
- statval = os.stat(filename) # ... modification time ...
+ statval = os.stat(filename) # ... modification time ...
mtime = statval[8]
write32(output, mtime)
- output.write('\002') # ... slowest compression alg. ...
- output.write('\377') # ... OS (=unknown) ...
- output.write(filename+'\000') # ... original filename ...
+ output.write(b'\002') # ... slowest compression alg. ...
+ output.write(b'\377') # ... OS (=unknown) ...
+ bfilename = filename.encode(sys.getfilesystemencoding())
+ output.write(bfilename + b'\000') # ... original filename ...
- crcval = zlib.crc32("")
+ crcval = zlib.crc32(b'')
compobj = zlib.compressobj(9, zlib.DEFLATED, -zlib.MAX_WBITS,
zlib.DEF_MEM_LEVEL, 0)
while True:
data = input.read(1024)
- if data == "":
+ if data == b'':
break
crcval = zlib.crc32(data, crcval)
output.write(compobj.compress(data))
@@ -46,9 +47,9 @@ def compress (filename, input, output):
write32(output, crcval) # ... the CRC ...
write32(output, statval[6]) # and the file size.
-def decompress (input, output):
+def decompress(input, output):
magic = input.read(2)
- if magic != '\037\213':
+ if magic != b'\037\213':
print('Not a gzipped file')
sys.exit(0)
if ord(input.read(1)) != 8:
@@ -66,21 +67,21 @@ def decompress (input, output):
# Read and discard a null-terminated string containing the filename
while True:
s = input.read(1)
- if s == '\0': break
+ if s == b'\0': break
if flag & FCOMMENT:
# Read and discard a null-terminated string containing a comment
while True:
- s=input.read(1)
- if s=='\0': break
+ s = input.read(1)
+ if s == b'\0': break
if flag & FHCRC:
input.read(2) # Read & discard the 16-bit header CRC
decompobj = zlib.decompressobj(-zlib.MAX_WBITS)
- crcval = zlib.crc32("")
+ crcval = zlib.crc32(b'')
length = 0
while True:
- data=input.read(1024)
- if data == "":
+ data = input.read(1024)
+ if data == b"":
break
decompdata = decompobj.decompress(data)
output.write(decompdata)