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
def feed(self, code):
x = b''
x = ''
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) # 257
self.prevbuf = b''
self.prevbuf = ''
self.nbits = 9
elif code == 257:
pass
@ -69,7 +69,7 @@ class LZWDecoder(object):
self.table.append(self.prevbuf+self.prevbuf[:1])
x = self.table[code]
else:
raise CorruptDataError()
raise CorruptDataError
l = len(self.table)
if l == 511:
self.nbits = 10
@ -86,7 +86,6 @@ class LZWDecoder(object):
code = self.readbits(self.nbits)
except EOFError:
break
x = self.feed(code)
try:
x = self.feed(code)
except CorruptDataError:

View File

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