From 78f1e3f4d957771de2e427bf5be52e1d35d270f0 Mon Sep 17 00:00:00 2001 From: Razvan Deaconescu Date: Sun, 1 Nov 2009 11:50:32 +0200 Subject: [PATCH] completed status parser for libtorrent --- log-parser/libtorrent/StatusParser.py | 28 +++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/log-parser/libtorrent/StatusParser.py b/log-parser/libtorrent/StatusParser.py index 9259498..e83c4b1 100644 --- a/log-parser/libtorrent/StatusParser.py +++ b/log-parser/libtorrent/StatusParser.py @@ -5,6 +5,8 @@ import getopt import re from DatabaseWriter import DatabaseWriter from DatabaseCommander import DatabaseCommander +import julian +import datetime DEBUG = False @@ -98,7 +100,11 @@ def libtorrent_parse_status_line(line): return (num_peers, dht, download_speed, upload_speed, download_size, upload_size, eta) -def libtorrent_parse_status_file(dbw, client_session_id, filename): +def libtorrent_parse_status_file(dbw, client_session_id, session_start, filename): + + message_time = session_start + one_second = datetime.timedelta(0, 1) + try: fin = open(filename, "r") while 1: @@ -112,10 +118,13 @@ def libtorrent_parse_status_file(dbw, client_session_id, filename): (num_peers, dht, download_speed, upload_speed, download_size, upload_size, eta_time) = libtorrent_parse_status_line(line) + message_time = message_time + one_second + if DEBUG == True: - print "(%d, %d, %d kb/s, %d kb/s, %d bytes, %d bytes)" % (num_peers, dht, download_speed, upload_speed, download_size, upload_size) + print "(%d, %s, %s, %d, %d kb/s, %d kb/s, %d bytes, %d bytes)" % (num_peers, date, time, dht, download_speed, upload_speed, download_size, upload_size) -# dbw.add_status_message(client_session_id, date, time, num_peers, dht, download_speed, upload_speed, download_size, upload_size, eta_time): + dbw.add_status_message_datetime(client_session_id, message_time, num_peers, dht, download_speed, upload_speed, download_size, upload_size, eta_time) + except IOError: print "Error processing file %s." %filename @@ -137,7 +146,7 @@ def main(): usage() sys.exit(0) elif o in ("-i", "--id"): - client_session_id = a + client_session_id = int(a) elif o in ("-f", "--file"): filename = a else: @@ -185,11 +194,11 @@ def main(): pass print "Client session row is: " - print session_row + print " ", session_row print "Swarm row is: " - print swarm_row + print " ", swarm_row print "Client row is: " - print btclient_row + print " ", btclient_row print "\nContinue parsing on file %s? (y/n) " % filename, try: @@ -199,10 +208,13 @@ def main(): except IOError: print "Error reading standard input." sys.exit(2) + print "" + + session_start = julian.julianToDatetime(session_row[11]) # parse status file dbw = DatabaseWriter(database) - libtorrent_parse_status_file(dbw, client_session_id, filename) + libtorrent_parse_status_file(dbw, client_session_id, session_start, filename) if __name__ == "__main__": -- 2.20.1