completed status parser for libtorrent
authorRazvan Deaconescu <razvan.deaconescu@cs.pub.ro>
Sun, 1 Nov 2009 09:50:32 +0000 (11:50 +0200)
committerRazvan Deaconescu <razvan.deaconescu@cs.pub.ro>
Sun, 1 Nov 2009 09:50:32 +0000 (11:50 +0200)
log-parser/libtorrent/StatusParser.py

index 9259498..e83c4b1 100644 (file)
@@ -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__":