Changeset 1580

Show
Ignore:
Timestamp:
06/29/04 16:21:41 (20 years ago)
Author:
jalet
Message:

Smallish optimization

Location:
pykota/trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • pykota/trunk/pykota/pdlanalyzer.py

    r1577 r1580  
    2222# 
    2323# $Log$ 
     24# Revision 1.22  2004/06/29 14:21:41  jalet 
     25# Smallish optimization 
     26# 
    2427# Revision 1.21  2004/06/28 23:11:26  jalet 
    2528# Code de-factorization in PCLXL parser 
     
    9396import os 
    9497import re 
    95 import struct 
     98from struct import unpack 
    9699import tempfile 
    97100import mmap 
     
    347350            pos = self.pos 
    348351        posl = pos + length 
    349         sarraysize = self.minfile[pos:posl] 
    350352        self.pos = posl 
    351353        if length == 1 :     
    352             return struct.unpack(self.endianness + "B", sarraysize)[0] 
     354            return unpack("B", self.minfile[pos:posl])[0] 
    353355        elif length == 2 :     
    354             return struct.unpack(self.endianness + "H", sarraysize)[0] 
     356            return unpack(self.endianness + "H", self.minfile[pos:posl])[0] 
    355357        elif length == 4 :     
    356             return struct.unpack(self.endianness + "I", sarraysize)[0] 
     358            return unpack(self.endianness + "I", self.minfile[pos:posl])[0] 
    357359        else :     
    358360            raise PDLAnalyzerError, "Error on array size at %s" % self.pos 
     
    369371            pos = self.pos 
    370372        posl = pos + length 
    371         sarraysize = self.minfile[pos:posl] 
    372373        self.pos = posl 
    373374        if length == 1 :     
    374             return 2 * struct.unpack(self.endianness + "B", sarraysize)[0] 
     375            return 2 * unpack("B", self.minfile[pos:posl])[0] 
    375376        elif length == 2 :     
    376             return 2 * struct.unpack(self.endianness + "H", sarraysize)[0] 
     377            return 2 * unpack(self.endianness + "H", self.minfile[pos:posl])[0] 
    377378        elif length == 4 :     
    378             return 2 * struct.unpack(self.endianness + "I", sarraysize)[0] 
     379            return 2 * unpack(self.endianness + "I", self.minfile[pos:posl])[0] 
    379380        else :     
    380381            raise PDLAnalyzerError, "Error on array size at %s" % self.pos 
     
    391392            pos = self.pos 
    392393        posl = pos + length 
    393         sarraysize = self.minfile[pos:posl] 
    394394        self.pos = posl 
    395395        if length == 1 :     
    396             return 4 * struct.unpack(self.endianness + "B", sarraysize)[0] 
     396            return 4 * unpack("B", self.minfile[pos:posl])[0] 
    397397        elif length == 2 :     
    398             return 4 * struct.unpack(self.endianness + "H", sarraysize)[0] 
     398            return 4 * unpack(self.endianness + "H", self.minfile[pos:posl])[0] 
    399399        elif length == 4 :     
    400             return 4 * struct.unpack(self.endianness + "I", sarraysize)[0] 
     400            return 4 * unpack(self.endianness + "I", self.minfile[pos:posl])[0] 
    401401        else :     
    402402            raise PDLAnalyzerError, "Error on array size at %s" % self.pos 
     
    411411    def embeddedData(self) : 
    412412        """Handle normal amounts of data.""" 
    413         fmt = self.endianness + "I" 
    414413        pos = self.pos 
    415414        pos4 = pos + 4 
    416         data = self.minfile[pos:pos4] 
    417415        self.pos = pos4 
    418         return struct.unpack(fmt, data)[0] 
     416        return unpack(self.indianness + "I", self.minfile[pos:pos4])[0] 
    419417         
    420418    def littleEndian(self) :         
  • pykota/trunk/README

    r1578 r1580  
    119119           
    120120        - Account balances can be set, incremented, or   
    121           decremented. 
     121          decremented. History of payments is kept. 
    122122           
    123123        - Both printers and users can be automatically added on