# -*- coding: utf-8 -*- # # pkpgcounter : a generic Page Description Language parser # # (c) 2003-2019 Jerome Alet # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # $Id$ # """This modules implements a page counter for ZjStream documents.""" import struct import pdlparser class Parser(pdlparser.PDLParser) : """A parser for ZjStream documents.""" def isValid(self) : """Returns True if data is ZjStream, else False.""" if self.firstblock[:4] == "ZJZJ" : self.format = "Zenographics ZjStream (little endian)" return self.littleEndian() elif self.firstblock[:4] == "JZJZ" : self.format = "Zenographics ZjStream (big endian)" return self.bigEndian() else : return False def littleEndian(self) : """Toggles to little endianness.""" self.unpackHeader = "