commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

r5499 - in trunk/gnue-appserver/src: . language


From: reinhard
Subject: r5499 - in trunk/gnue-appserver/src: . language
Date: Wed, 24 Mar 2004 02:34:00 -0600 (CST)

Author: reinhard
Date: 2004-03-24 02:33:58 -0600 (Wed, 24 Mar 2004)
New Revision: 5499

Modified:
   trunk/gnue-appserver/src/data.py
   trunk/gnue-appserver/src/language/Session.py
   trunk/gnue-appserver/src/language/test.py
Log:
Allow dictionary style conditions.  Better names for find() parameters.


Modified: trunk/gnue-appserver/src/data.py
===================================================================
--- trunk/gnue-appserver/src/data.py    2004-03-24 08:15:52 UTC (rev 5498)
+++ trunk/gnue-appserver/src/data.py    2004-03-24 08:33:58 UTC (rev 5499)
@@ -283,10 +283,19 @@
 def _createResultSet (connections, database, table, fields, conditions, order):
 
   datasource = _createDatasource (connections, database, table, fields, order)
-  if conditions is not None:
+
+  if isinstance (conditions, DictType):
+    condition_tree = GConditions.buildConditionFromDict (conditions)
+
+  elif isinstance (conditions, ListType):
     condition_tree = GConditions.buildTreeFromPrefix (conditions)
+
+  elif conditions is None:
+    condition_tree = None
+
   else:
-    condition_tree = None
+    raise GConditions.ConditionError, _("Invalid condition format")
+
   return datasource.createResultSet (condition_tree)
 
 # -----------------------------------------------------------------------------

Modified: trunk/gnue-appserver/src/language/Session.py
===================================================================
--- trunk/gnue-appserver/src/language/Session.py        2004-03-24 08:15:52 UTC 
(rev 5498)
+++ trunk/gnue-appserver/src/language/Session.py        2004-03-24 08:33:58 UTC 
(rev 5499)
@@ -104,8 +104,10 @@
   # -------------------------------------------------------------------------
   # Return a collection of 'classname' matching the given arguments
   # -------------------------------------------------------------------------
-  def find (self, classname, cond=[], sort=['gnue_id'], properties=[]):
-    return ObjectList (self, self.qualify (classname), cond, sort, properties)
+  def find (self, classname, conditions = None, sortorder = ['gnue_id'],
+            properties = []):
+    return ObjectList (self, self.qualify (classname), conditions, sortorder,
+                       properties)
 
   # -------------------------------------------------------------------------
   # Create a new instance of classname

Modified: trunk/gnue-appserver/src/language/test.py
===================================================================
--- trunk/gnue-appserver/src/language/test.py   2004-03-24 08:15:52 UTC (rev 
5498)
+++ trunk/gnue-appserver/src/language/test.py   2004-03-24 08:33:58 UTC (rev 
5499)
@@ -32,7 +32,7 @@
 
   print "fetching all persons..."
   session.setcontext ('address')
-  list = session.find ('person', sort = ['address_name'],
+  list = session.find ('person', sortorder = ['address_name'],
                        properties = ['address_name', 'address_street'])
 
   print 'Found %d instances.' % len (list)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]