def get_after(self, timestamp, s=None):
        """
        Find all the (available) logs that are after the given time stamp.

        If `s` is not supplied, then all lines are used.  Otherwise, only the
        lines contain the `s` are used.  `s` can be either a single string or a
        strings list. For list, all keywords in the list must be found in the
        line.

        .. note::
            The time stamp is time type instead of usual datetime type. If
            a time stamp is not found on the line between square brackets, then
            it is treated as a continuation of the previous line and is only
            included if the previous line's timestamp is greater than the
            timestamp given.  Because continuation lines are only included if a
            previous line has matched, this means that searching in logs that do
            not have a time stamp produces no lines.

        Parameters:
            timestamp(time): log lines after this time are returned.
            s(str or list): one or more strings to search for.
                If not supplied, all available lines are searched.

        Yields:
            Log lines with time stamps after the given time.

        Raises:
            TypeError: The ``timestamp`` should be in `time` type, otherwise a
                `TypeError` will be raised.
        """
        if not isinstance(timestamp, time):
            raise TypeError(
                "get_after needs a time type timestamp, but get '{c}'".format(
                    c=timestamp)
            )
        including_lines = False
        search_by_expression = self._valid_search(s)
        for line in self.lines:
            # If `s` is not None, keywords must be found in the line
            if s and not search_by_expression(line):
                continue
            # Otherwise, search all lines
            match = self._line_re.search(line)
            if match and match.group('timestamp'):
                # Get logtimestamp and compare to given timestamp
                l_hh, l_mm, l_ss = match.group('timestamp').split(":")
                logstamp = time(int(l_hh), int(l_mm), int(l_ss))
                if logstamp >= timestamp:
                    including_lines = True
                    yield self._parse_line(line)
                else:
                    including_lines = False
            else:
                # If we're including lines, add this continuation line
                if including_lines:
                    yield self._parse_line(line)
def get_after ( self , timestamp , s = None ) : if not isinstance ( timestamp , time ) : raise TypeError ( "get_after needs a time type timestamp, but get '{c}'" . format ( c = timestamp ) ) including_lines = False search_by_expression = self . _valid_search ( s ) for line in self . lines : if s and not search_by_expression ( line ) : continue match = self . _line_re . search ( line ) if match and match . group ( 'timestamp' ) : l_hh , l_mm , l_ss = match . group ( 'timestamp' ) . split ( ":" ) logstamp = time ( int ( l_hh ) , int ( l_mm ) , int ( l_ss ) ) if logstamp >= timestamp : including_lines = True yield self . _parse_line ( line ) else : including_lines = False else : if including_lines : yield self . _parse_line ( line )
Find all the (available) logs that are after the given time stamp.

        If `s` is not supplied, then all lines are used.  Otherwise, only the
        lines contain the `s` are used.  `s` can be either a single string or a
        strings list. For list, all keywords in the list must be found in the
        line.

        .. note::
            The time stamp is time type instead of usual datetime type. If
            a time stamp is not found on the line between square brackets, then
            it is treated as a continuation of the previous line and is only
            included if the previous line's timestamp is greater than the
            timestamp given.  Because continuation lines are only included if a
            previous line has matched, this means that searching in logs that do
            not have a time stamp produces no lines.

        Parameters:
            timestamp(time): log lines after this time are returned.
            s(str or list): one or more strings to search for.
                If not supplied, all available lines are searched.

        Yields:
            Log lines with time stamps after the given time.

        Raises:
            TypeError: The ``timestamp`` should be in `time` type, otherwise a
                `TypeError` will be raised.