From 85fde1b11d3fc250b26d6803db69f8ffcd8aa855 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mariana=20M=C4=83r=C4=83=C8=99oiu?= Date: Fri, 16 Sep 2011 03:18:31 +0300 Subject: [PATCH] ppf/new: Add str2bool method to store *_enabled values as booleans (as used in databases). --- ppf/new/storage.py | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/ppf/new/storage.py b/ppf/new/storage.py index d7b2f47..1453940 100644 --- a/ppf/new/storage.py +++ b/ppf/new/storage.py @@ -432,6 +432,7 @@ class TreeTextFileAccess(FileAccess): msg.listen_port)) f.close() + class DatabaseAccess(SwarmDataAccess): """Subclass of SwarmDataAccess providing functions for database usage.""" @@ -454,6 +455,7 @@ class DatabaseAccess(SwarmDataAccess): self.cursor.close() self.conn.close() + class SQLiteDatabaseAccess(DatabaseAccess): """Child class of DatabaseAccess for SQLite access.""" @@ -479,6 +481,12 @@ class SQLiteDatabaseAccess(DatabaseAccess): self.columns = self.columns + data_name + ", " self.values = self.values + "'" + str(data_value) + "'" + ", " + def str2bool(self, s): + """Convert a string to boolean (0 or 1).""" + if s is not None: + i = s.lower() in ("yes", "true", "t", "1") + return int(i) + def add_swarm(self, swarm): """Insert swarm in database. swarm type is Swarm.""" self.reset_query() @@ -513,10 +521,12 @@ class SQLiteDatabaseAccess(DatabaseAccess): self.append_to_insert_query("ds_limit", session.ds_limit) self.append_to_insert_query("us_limit", session.us_limit) self.append_to_insert_query("start_time", session.start_time) - self.append_to_insert_query("dht_enabled", session.dht_enabled) - self.append_to_insert_query("pxe_enabled", session.pxe_enabled) + self.append_to_insert_query("dht_enabled", + self.str2bool(session.dht_enabled)) + self.append_to_insert_query("pxe_enabled", + self.str2bool(session.pxe_enabled)) self.append_to_insert_query("streaming_enabled", - session.streaming_enabled) + self.str2bool(session.streaming_enabled)) self.append_to_insert_query("features", session.features) self.append_to_insert_query("description", session.description) @@ -652,6 +662,12 @@ class MySQLDatabaseAccess(DatabaseAccess): self.columns = self.columns + data_name + ", " self.values = self.values + "'" + str(data_value) + "'" + ", " + def str2bool(self, s): + """Convert a string to boolean (0 or 1).""" + if s is not None: + i = s.lower() in ("yes", "true", "t", "1") + return int(i) + def add_swarm(self, swarm): """Insert swarm in database. swarm type is Swarm.""" self.reset_query() @@ -686,10 +702,12 @@ class MySQLDatabaseAccess(DatabaseAccess): self.append_to_insert_query("ds_limit", session.ds_limit) self.append_to_insert_query("us_limit", session.us_limit) self.append_to_insert_query("start_time", session.start_time) - self.append_to_insert_query("dht_enabled", session.dht_enabled) - self.append_to_insert_query("pxe_enabled", session.pxe_enabled) + self.append_to_insert_query("dht_enabled", + self.str2bool(session.dht_enabled)) + self.append_to_insert_query("pxe_enabled", + self.str2bool(session.pxe_enabled)) self.append_to_insert_query("streaming_enabled", - session.streaming_enabled) + self.str2bool(session.streaming_enabled)) self.append_to_insert_query("features", session.features) self.append_to_insert_query("description", session.description) -- 2.20.1