+ self.read_next_line()
+ while True:
+ msg = self.get_next_message_from_line()
+ if msg == None:
+ self.read_next_line()
+ if self.is_line_empty():
+ return None
+ else:
+ continue
+ else:
+ break
+
+ return msg
+
+ def get_log_line_type(self, line):
+ logger.debug("line is: %s" %(line))
+ return (None, None)
+
+ def parse_log_line(self, line):
+ """Parse a log line and establish its type.
+
+ Type may be status, verbose or peer status.
+ Return message in line, in case of message line, or None in case
+ of no message line."""
+
+ # Check log line type and call appropriate method.
+ (major_line_type, minor_line_type) = self.get_log_line_type(line)
+ if major_line_type == "status":
+ self.parse_status_log_line(line)
+ elif major_line_type == "peer-status":
+ self.parse_peer_status_log_line(line)
+ elif major_line_type == "verbose":
+ self.parse_verbose_log_line(line, minor_line_type)
+
+ def parse_status_log_line(self, line):
+ """Parse Tribler status line."""
+ pass
+
+ def parse_peer_status_log_line(self, line):
+ """Parse Tribler peer status line."""
+ pass
+
+ def parse_verbose_log_line(self, line, message_type):
+ """Parse Tribler verbose line."""
+ pass