# HG changeset patch # User James Bergstra # Date 1232245232 18000 # Node ID fa6585609e01ac408970af4621cabd2548e9ed6d # Parent 8aef46b42cb501d9d4bd922c03cf783b977a7858 added api0.filter_eq_dct diff -r 8aef46b42cb5 -r fa6585609e01 pylearn/dbdict/api0.py --- a/pylearn/dbdict/api0.py Sat Jan 17 19:13:17 2009 -0500 +++ b/pylearn/dbdict/api0.py Sat Jan 17 21:20:32 2009 -0500 @@ -307,6 +307,12 @@ return h_self._Query(q) + def filter_eq_dct(q_self, dct): + rval = q_self + for key, val in dct.items(): + rval = rval.filter_eq(key,val) + return rval + def all(q_self): """Return an iterator over all matching dictionaries. diff -r 8aef46b42cb5 -r fa6585609e01 pylearn/dbdict/sql.py --- a/pylearn/dbdict/sql.py Sat Jan 17 19:13:17 2009 -0500 +++ b/pylearn/dbdict/sql.py Sat Jan 17 21:20:32 2009 -0500 @@ -211,7 +211,7 @@ """ job = copy.copy(jobdict) - do_insert = force_dup or (None is db.query(**job).first()) + do_insert = force_dup or (None is db.query.filter_eq_dct(job).first()) if do_insert: job[STATUS] = START job[PRIORITY] = 1.0