From: Razvan Deaconescu Date: Sun, 1 Nov 2009 09:54:35 +0000 (+0200) Subject: bug fixes and new methods additions to DatabaseWriter.py, DatabaseAcces.py, julian... X-Git-Tag: getopt_long~276 X-Git-Url: http://p2p-next.cs.pub.ro/gitweb/?a=commitdiff_plain;h=a885d2f6a3d904abe740775e46b1f22a44b25c0d;p=cs-p2p-next.git bug fixes and new methods additions to DatabaseWriter.py, DatabaseAcces.py, julian.py as required by status parser --- diff --git a/auto/db/DatabaseAccess.py b/auto/db/DatabaseAccess.py index 565a78c..d587b82 100644 --- a/auto/db/DatabaseAccess.py +++ b/auto/db/DatabaseAccess.py @@ -93,8 +93,6 @@ class DatabaseAccess: btclients([client_name, language, dht, streaming]) def select_btclients(self, show = True, id = -1): - print "show = ", show - print "client_id = ", id try: if id == -1: self.cursor.execute("""select * from btclients""") @@ -108,7 +106,7 @@ class DatabaseAccess: except sqlite3.Error, e: print ("[btclients]An error ocurred: ", e.args[0]) - def select_btclient_by_name(self, showclient_name, show = True): + def select_btclient_by_name(self, client_name, show = True): try: self.cursor.execute("""select * from btclients where name='%s'""" %client_name) if show == True: @@ -295,8 +293,8 @@ def main(): ]: dba.insert_btclients_row(t) - for t in [('1', '2', 'Linux', '2.6.30', '256', '1833', '0.0.0.0', '6969', '256', '96', '123131.1231'), - ('3', '4', 'Linux', '2.6.30', '256', '1833', '0.0.0.0', '6969', '256', '96', '123131.1231'), + for t in [('1', '2', 'Linux', '2.6.26', '512', '1500', '141.85.224.205', '50500', '512', '64', '2455125.02409722'), + ('3', '4', 'Linux', '2.6.26', '512', '1500', '141.85.224.209', '40400', '512', '64', '2455125.03174769'), ]: dba.insert_client_sessions_row(t) diff --git a/auto/db/DatabaseWriter.py b/auto/db/DatabaseWriter.py index 2a37e61..a1c5939 100644 --- a/auto/db/DatabaseWriter.py +++ b/auto/db/DatabaseWriter.py @@ -14,13 +14,19 @@ class DatabaseWriter: self.dba.connect() def add_status_message(self, cs_id, date, time, peer_num, dht, download_speed, upload_speed, download_size, upload_size, eta_time): - timestamp = float(julian.datetimeToJulian(date, time)); + timestamp = float(julian.stringToJulian(date, time)); + eta = datetime.timedelta(eta_time[0], eta_time[3], 0, 0, eta_time[2], eta_time[1], 0) + eta_seconds = eta.days * 24 * 3600 + eta.seconds + self.dba.insert_status_messages(cs_id, timestamp, peer_num, dht, download_speed, upload_speed, download_size, upload_size, eta_seconds) + + def add_status_message_datetime(self, cs_id, dt, peer_num, dht, download_speed, upload_speed, download_size, upload_size, eta_time): + timestamp = float(julian.datetimeToJulian(dt)); eta = datetime.timedelta(eta_time[0], eta_time[3], 0, 0, eta_time[2], eta_time[1], 0) eta_seconds = eta.days * 24 * 3600 + eta.seconds self.dba.insert_status_messages(cs_id, timestamp, peer_num, dht, download_speed, upload_speed, download_size, upload_size, eta_seconds) def add_verbose_message(self, cs_id, date, time, peer_ip, peer_port, message_type, index, begin, length, listen_port): - timestamp = float(julian.datetimeToJulian(date, time)); + timestamp = float(julian.stringToJulian(date, time)); self.dba.insert_verbose_messages(cs_id, timestamp, peer_ip, peer_port, message_type, index, begin, length, listen_port) def show_status_messages(self, cs_id = -1): diff --git a/auto/db/julian.py b/auto/db/julian.py index f1287dc..30835f8 100644 --- a/auto/db/julian.py +++ b/auto/db/julian.py @@ -9,12 +9,15 @@ from datetime import datetime, date, time # and standard time string "HH:MM:SS.ss..." # -def datetimeToJulian(date, time): +def stringToJulian(date, time): d = sidereal.parseDate(date) t = sidereal.parseTime(time) dt = datetime.combine(d, t) return sidereal.JulianDate.fromDatetime(dt) +def datetimeToJulian(datetime): + return sidereal.JulianDate.fromDatetime(datetime) + # # arguments are standard date/time fields # @@ -25,13 +28,21 @@ def fieldsToJulian(year, month, day, hour, minute, second, millisecond, microsec dt = datetime.combine(d, t) return sidereal.JulianDate.fromDatetime(dt) +# +# argument is a julian date number +# + +def julianToDatetime(jd): + julianDate = sidereal.JulianDate(jd) + return julianDate.datetime() + # # test case for Julian Date conversion functions # def main(): - jd = datetimeToJulian("2000-01-01", "12:00:00.00") + jd = stringToJulian("2000-01-01", "12:00:00.00") print "getJulianFromDatime: ", float(jd) jd = fieldsToJulian(2000, 1, 1, 12, 0, 0, 0, 0)