Reverted to Python2.x syntax. Fixed LZW decoding.

pull/1/head
Yusuke Shinyama 2013-10-19 08:19:40 +09:00
parent bfd9e93c12
commit 2aa757978b
2 changed files with 5 additions and 9 deletions

View File

@ -50,12 +50,12 @@ class LZWDecoder(object):
return v return v
def feed(self, code): def feed(self, code):
x = b'' x = ''
if code == 256: if code == 256:
self.table = [bytes([i]) for i in range(256)] # 0-255 self.table = [ chr(c) for c in xrange(256) ] # 0-255
self.table.append(None) # 256 self.table.append(None) # 256
self.table.append(None) # 257 self.table.append(None) # 257
self.prevbuf = b'' self.prevbuf = ''
self.nbits = 9 self.nbits = 9
elif code == 257: elif code == 257:
pass pass
@ -69,7 +69,7 @@ class LZWDecoder(object):
self.table.append(self.prevbuf+self.prevbuf[:1]) self.table.append(self.prevbuf+self.prevbuf[:1])
x = self.table[code] x = self.table[code]
else: else:
raise CorruptDataError() raise CorruptDataError
l = len(self.table) l = len(self.table)
if l == 511: if l == 511:
self.nbits = 10 self.nbits = 10
@ -86,7 +86,6 @@ class LZWDecoder(object):
code = self.readbits(self.nbits) code = self.readbits(self.nbits)
except EOFError: except EOFError:
break break
x = self.feed(code)
try: try:
x = self.feed(code) x = self.feed(code)
except CorruptDataError: except CorruptDataError:

View File

@ -219,10 +219,7 @@ class PDFContentParser(PSStackParser):
self.istream += 1 self.istream += 1
else: else:
raise PSEOF('Unexpected EOF, file truncated?') raise PSEOF('Unexpected EOF, file truncated?')
data = strm.get_data() self.fp = StringIO(strm.get_data())
if isinstance(data, bytes):
data = data.decode('latin-1')
self.fp = StringIO(data)
return return
def seek(self, pos): def seek(self, pos):