From 12d9bd95858f0ef7531d4fc56cbc939f47b32c14 Mon Sep 17 00:00:00 2001 From: Razvan Deaconescu Date: Sun, 28 Aug 2011 08:01:50 +0300 Subject: [PATCH] ppf/new: Add IP and port information to verbose messages. IP and port information are determined from verbose log file name. --- ppf/new/parsing.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/ppf/new/parsing.py b/ppf/new/parsing.py index 824d728..41cea1f 100644 --- a/ppf/new/parsing.py +++ b/ppf/new/parsing.py @@ -28,7 +28,7 @@ logger.setLevel(logging.DEBUG) # Create console handler and set level to ERROR. ch = logging.StreamHandler() -ch.setLevel(logging.DEBUG) +ch.setLevel(logging.WARNING) # Create formatter. formatter = logging.Formatter('%(filename)s:%(lineno)s - %(levelname)s: %(message)s') @@ -119,10 +119,10 @@ class LibtorrentLogParser(SessionLogParser): def get_have_parsed_list(self): return self.have_parsed - def is_verbose_log_filename(self, filename): + def verbose_log_filename_to_ip_port(self, filename): r = re.compile(r'^[0-9]+(?:\.[0-9]+){3}_[0-9]+\.log$') if not r.match(filename): - return False + return (None, None) # Check for valid IP address and port. a = re.split('_', filename) @@ -131,14 +131,19 @@ class LibtorrentLogParser(SessionLogParser): # Check valid port. if port <= 0 or port > 65535: - return False + return (None, None) # Check valid IP address. try: socket.inet_aton(ip) except socket.error, e: - return False + return (None, None) + return (ip, port) + + def is_verbose_log_filename(self, filename): + if (self.verbose_log_filename_to_ip_port(filename) == (None, None)): + return False return True def open_next_file(self): @@ -157,6 +162,9 @@ class LibtorrentLogParser(SessionLogParser): self.line = "" self.message_list = [] + # Initiate self.verbose_log_ip and self.verbose_log_port if case. + (self.verbose_log_ip, self.verbose_log_port) = self.verbose_log_filename_to_ip_port(os.path.basename(self.parsing)) + # TODO: Log this information somewhere for snapshotting purpose. # In case an error occurs parsing would resume from that point. @@ -338,7 +346,7 @@ class LibtorrentLogParser(SessionLogParser): def parse_verbose_log_line(self, line, message_type): if self.verbose_log_ip == None or self.verbose_log_port == None: - # TODO: Initiate verbose_log_ip and verbose_log_port. + logger.warning("No IP or port information for verbose message.") pass msg = storage.VerboseMessage() msg.peer_ip = self.verbose_log_ip -- 2.20.1