summaryrefslogtreecommitdiffstats
path: root/ipsilon/util/data.py
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2014-02-26 18:42:09 -0500
committerSimo Sorce <simo@redhat.com>2014-02-26 21:50:27 -0500
commit2926eb00f40d925549b14b86f73f8649df1e9c05 (patch)
treee750f5cbe339f2aa85257f35805a662a956c0b3f /ipsilon/util/data.py
parent87f1f56c157145e81efa6b58ec9b0d7f89facfc0 (diff)
downloadipsilon-2926eb00f40d925549b14b86f73f8649df1e9c05.tar.gz
ipsilon-2926eb00f40d925549b14b86f73f8649df1e9c05.tar.xz
ipsilon-2926eb00f40d925549b14b86f73f8649df1e9c05.zip
Add Service Provider class
This class allows to represent a service provider and its associated policy Signed-off-by: Simo Sorce <simo@redhat.com>
Diffstat (limited to 'ipsilon/util/data.py')
-rwxr-xr-xipsilon/util/data.py26
1 files changed, 24 insertions, 2 deletions
diff --git a/ipsilon/util/data.py b/ipsilon/util/data.py
index cbd3b49..2a55bb2 100755
--- a/ipsilon/util/data.py
+++ b/ipsilon/util/data.py
@@ -189,21 +189,43 @@ class Store(object):
if con:
con.close()
- def get_data(self, plugin):
+ def get_data(self, plugin, idval=None, name=None, value=None):
con = None
rows = []
+ names = None
+ values = ()
+ if idval or name or value:
+ names = ""
+ if idval:
+ names += " id=?"
+ values = values + (idval,)
+ if name:
+ if len(names) != 0:
+ names += " AND"
+ names += " name=?"
+ values = values + (name,)
+ if value:
+ if len(names) != 0:
+ names += " AND"
+ names += " value=?"
+ values = values + (value,)
try:
con = sqlite3.connect(self._admin_dbname)
cur = con.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS " +
plugin + "_data (id INTEGER, name TEXT, value TEXT)")
- cur.execute("SELECT * FROM " + plugin + "_data")
+ if not names:
+ cur.execute("SELECT * FROM " + plugin + "_data")
+ else:
+ cur.execute("SELECT * FROM " + plugin + "_data WHERE" +
+ names, values)
rows = cur.fetchall()
con.commit()
except sqlite3.Error, e:
if con:
con.rollback()
cherrypy.log.error("Failed to load %s data: [%s]" % (plugin, e))
+ cherrypy.log.error(repr([names, values]))
finally:
if con:
con.close()