Changeset 156

Show
Ignore:
Timestamp:
Wed Nov 30 14:34:57 2005
Author:
drew
Message:

- completed optimizations and got rid of unused methods

Files:

Legend:

Unmodified
Added
Removed
Modified
  • subprojects/LogGrok/trunk/loggrok/log.py

    r155 r156  
    7 7 from loggrok.parse import parserFactory, LogParseException  
    8 8  
    9   from xix.utils.io import AggregateFile, AggregateFileInput  
      9 from xix.utils.io import AggregateFileInput  
    9 9 from UserString import UserString  
    10 10 from cStringIO import StringIO  
     
    133 133         return entry  
    134 134      
    135       def readentry(self):  
    136           """Read the next entry in this log. Do not use this  
    137    
    138           @todo unit testing  
    139           """  
    140           parse_header = self.headerParser.parse  
    141           delta = 0  
    142           if self.__lastheader:  
    143               header = self.__lastheader  
    144           else:  
    145               line = self.fd.readline()  
    146               if not line:  
    147                   return  
    148               try:  
    149                   header, _  = parse_header(line)  
    150               except LogParseException:  
    151                   header, _  = None, None  
    152               if header:  
    153                   header = LogHeader(header)  
    154                   delta = len(line) - len(header)  
    155           self.__lastheader = None  
    156           self.fd.seek(-delta, 1)  
    157           line = self.fd.readline()  
    158           msg_buffer = StringIO()  
    159           while line:  
    160               try:  
    161                   nexthdr, meta = parse_header(line)  
    162                   self.__lastheader = LogHeader(nexthdr)  
    163                   delta = len(line) - len(self.__lastheader)  
    164                   self.fd.seek(-delta, 1)  
    165                   break  
    166               except LogParseException:  
    167                   msg_buffer.write(line)  
    168               line = self.fd.readline()  
    169           message = msg_buffer.getvalue()  
    170           try:  
    171               if header is None:  
    172                   raise LogParseException  
    173               #return LogEntry(header, message)  
    174               entry = LogEntry(header, message, parser=self.messageParser)  
    175               if self.action is not None:  
    176                   self.action(entry)  
    177               return entry  
    178           except LogParseException:  
    179               return MalformedLogEntry(header or '', message)  
    180            
    181    
    182 135     def readentries(self):  
    183 136         """readentry iterator  
     
    185 138         @todo unit testing  
    186 139         """  
    187           #entry = self.readentry()  
    188           #while entry:  
    189           #    yield entry  
    190           #    entry = self.readentry()  
    191 140         for line in self.fd:  
    192 141             entry = self.__recvline(line)