hpgl_parser.py

changeset 19
42af82fdb8bb
parent 18
c691b040e8c9
child 20
de60b63b2275
equal deleted inserted replaced
18:c691b040e8c9 19:42af82fdb8bb
5 5
6 vsplitter = re.compile('[ ,]') 6 vsplitter = re.compile('[ ,]')
7 vextractor = re.compile('(?P<value>[^;\n\r\aA-DF-Za-df-z]*?)(?P<terminator>[;\n\r\a]+)', re.S+re.M) 7 vextractor = re.compile('(?P<value>[^;\n\r\aA-DF-Za-df-z]*?)(?P<terminator>[;\n\r\a]+)', re.S+re.M)
8 8
9 class HPGLParser(object): 9 class HPGLParser(object):
10 def __init__(self, data): 10 def __init__(self, data=None):
11 self.str_terminator = chr(0x03)
12 self.IN()
13 if data:
14 self.parse(data)
15
16 def parse(self, data):
11 self.data = data 17 self.data = data
12 self.idx = 0 18 self.idx = 0
13 self.str_terminator = chr(0x03) 19 self.IN()
14
15 self.IN()
16
17 while self.idx<len(data): 20 while self.idx<len(data):
18 while data[self.idx] in [';','\n','\r', '\a', ' ']: 21 while data[self.idx] in [';','\n','\r', '\a', ' ']:
19 self.idx += 1 22 self.idx += 1
20 if data[self.idx] == chr(0x03): 23 if data[self.idx] == chr(0x03):
21 self.ESC() 24 self.ESC()

mercurial