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() |