diff options
author | Simo Sorce <simo@redhat.com> | 2014-02-26 18:42:09 -0500 |
---|---|---|
committer | Simo Sorce <simo@redhat.com> | 2014-02-26 21:50:27 -0500 |
commit | 2926eb00f40d925549b14b86f73f8649df1e9c05 (patch) | |
tree | e750f5cbe339f2aa85257f35805a662a956c0b3f /ipsilon/util/data.py | |
parent | 87f1f56c157145e81efa6b58ec9b0d7f89facfc0 (diff) | |
download | ipsilon-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-x | ipsilon/util/data.py | 26 |
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() |