log_parser.py
changeset 109 ca82d0fee336
parent 103 0e829e6275dc
child 110 37e67ec434f3
equal deleted inserted replaced
108:d0aca7894fc5 109:ca82d0fee336
   184         
   184         
   185         # custom types?
   185         # custom types?
   186         if type == 'DAY_CHANGED' :
   186         if type == 'DAY_CHANGED' :
   187             # new date
   187             # new date
   188             date = dtz
   188             date = dtz
   189 
   189         
   190         # build+return (date, LogLine)
   190         else :
   191         return date, LogLine(channel, offset, type, dtz, source, target, data)
   191             # build+return (date, LogLine)
       
   192             return date, LogLine(channel, offset, type, dtz, source, target, data)
   192 
   193 
   193     def parse_lines (self, channel, lines, date=None, starting_offset=None) :
   194     def parse_lines (self, channel, lines, date=None, starting_offset=None) :
   194         """
   195         """
   195             Parse the given lines, yielding LogEvents. 
   196             Parse the given lines, yielding LogEvents. 
   196         """
   197         """
   203             else :
   204             else :
   204                 offset = None
   205                 offset = None
   205             
   206             
   206             # try and parse
   207             # try and parse
   207             try :
   208             try :
   208                 # update date as needed
   209                 # get None or (date, line)
   209                 date, line = self.parse_line(channel, line, date, offset)
   210                 line_info = self.parse_line(channel, line, date, offset)
   210             
   211 
   211             # passthrough LogParseError's
   212            # passthrough LogParseError's
   212             except LogParseError :
   213             except LogParseError :
   213                 raise
   214                 raise
   214             
   215             
   215             # wrap other errors as LogParseError
   216             # wrap other errors as LogParseError
   216             except Exception, e :
   217             except Exception, e :
   217                 raise LogParseError(line, offset, "Parsing line failed: %s" % e)
   218                 raise LogParseError(line, offset, "Parsing line failed: %s" % e)
   218             
   219             
   219             else :
   220             else :
   220                 # yield unless None
   221                 # nothing?
   221                 if line :
   222                 if not line_info :
   222                     yield line
   223                     continue
   223 
   224                 
   224 
   225                 # unpack, update date
       
   226                 date, line = line_info
       
   227                 
       
   228                 # yield
       
   229                 yield line
       
   230 
       
   231