parent
9439a3a31a
commit
f2b0650ad5
|
@ -13,7 +13,17 @@
|
||||||
import sys
|
import sys
|
||||||
import array
|
import array
|
||||||
|
|
||||||
import six #Python 2+3 compatibility
|
import six #Python 2+3 compatibility
|
||||||
|
|
||||||
|
if six.PY3:
|
||||||
|
def get_bytes(data):
|
||||||
|
for byte in data:
|
||||||
|
yield byte
|
||||||
|
else:
|
||||||
|
def get_bytes(data):
|
||||||
|
for char in data:
|
||||||
|
yield ord(char)
|
||||||
|
|
||||||
|
|
||||||
## BitParser
|
## BitParser
|
||||||
##
|
##
|
||||||
|
@ -40,10 +50,9 @@ class BitParser(object):
|
||||||
return
|
return
|
||||||
|
|
||||||
def feedbytes(self, data):
|
def feedbytes(self, data):
|
||||||
for c in data:
|
for byte in get_bytes(data):
|
||||||
b = ord(c)
|
|
||||||
for m in (128, 64, 32, 16, 8, 4, 2, 1):
|
for m in (128, 64, 32, 16, 8, 4, 2, 1):
|
||||||
self._parse_bit(b & m)
|
self._parse_bit(byte & m)
|
||||||
return
|
return
|
||||||
|
|
||||||
def _parse_bit(self, x):
|
def _parse_bit(self, x):
|
||||||
|
@ -328,11 +337,10 @@ class CCITTG4Parser(BitParser):
|
||||||
return
|
return
|
||||||
|
|
||||||
def feedbytes(self, data):
|
def feedbytes(self, data):
|
||||||
for c in data:
|
for byte in get_bytes(data):
|
||||||
b = ord(c)
|
|
||||||
try:
|
try:
|
||||||
for m in (128, 64, 32, 16, 8, 4, 2, 1):
|
for m in (128, 64, 32, 16, 8, 4, 2, 1):
|
||||||
self._parse_bit(b & m)
|
self._parse_bit(byte & m)
|
||||||
except self.ByteSkip:
|
except self.ByteSkip:
|
||||||
self._accept = self._parse_mode
|
self._accept = self._parse_mode
|
||||||
self._state = self.MODE
|
self._state = self.MODE
|
||||||
|
|
Loading…
Reference in New Issue