[Erp5-report] r25901 - in /erp5/trunk/products/ZSQLCatalog: Query/EntireQuery.py SQLCatalog.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Mar 6 11:24:37 CET 2009


Author: vincent
Date: Fri Mar  6 11:24:36 2009
New Revision: 25901

URL: http://svn.erp5.org?rev=25901&view=rev
Log:
Simplify EntireQuery contructor api.
Update caller.

Modified:
    erp5/trunk/products/ZSQLCatalog/Query/EntireQuery.py
    erp5/trunk/products/ZSQLCatalog/SQLCatalog.py

Modified: erp5/trunk/products/ZSQLCatalog/Query/EntireQuery.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/Query/EntireQuery.py?rev=25901&r1=25900&r2=25901&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/Query/EntireQuery.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/Query/EntireQuery.py [utf8] Fri Mar  6 11:24:36 2009
@@ -35,6 +35,12 @@
 from Interface.Verify import verifyClass
 from Products.ZSQLCatalog.SQLCatalog import profiler_decorator
 
+def defaultDict(value):
+  if value is None:
+    return {}
+  assert isinstance(value, dict)
+  return value
+
 class EntireQuery(object):
   """
     This is not a Query subclass, since it does not define a
@@ -47,28 +53,18 @@
   column_map = None
 
   @profiler_decorator
-  def __init__(self, query, order_by_list=None, group_by_list=None,
+  def __init__(self, query, order_by_list=(), group_by_list=(),
                select_dict=None, limit=None, catalog_table_name=None,
-               extra_column_list=None, from_expression=None,
+               extra_column_list=(), from_expression=None,
                order_by_override_list=None):
-    def default(value):
-      if value is None:
-        return []
-      assert isinstance(value, (tuple, list))
-      return value
-    def defaultDict(value):
-      if value is None:
-        return {}
-      assert isinstance(value, dict)
-      return value
     self.query = query
-    self.order_by_list = default(order_by_list)
-    self.order_by_override_set = frozenset(default(order_by_override_list))
-    self.group_by_list = default(group_by_list)
+    self.order_by_list = list(order_by_list)
+    self.order_by_override_set = frozenset(order_by_override_list)
+    self.group_by_list = list(group_by_list)
     self.select_dict = defaultDict(select_dict)
     self.limit = limit
     self.catalog_table_name = catalog_table_name
-    self.extra_column_list = default(extra_column_list)
+    self.extra_column_list = list(extra_column_list)
     self.from_expression = from_expression
 
   def asSearchTextExpression(self, sql_catalog):

Modified: erp5/trunk/products/ZSQLCatalog/SQLCatalog.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/SQLCatalog.py?rev=25901&r1=25900&r2=25901&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/SQLCatalog.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/SQLCatalog.py [utf8] Fri Mar  6 11:24:36 2009
@@ -2094,9 +2094,9 @@
   @profiler_decorator
   def buildSQLQuery(self, query_table='catalog', REQUEST=None,
                           ignore_empty_string=1, only_group_columns=False,
-                          limit=None, extra_column_list=None,
+                          limit=None, extra_column_list=(),
                           **kw):
-    group_by_list = kw.pop('group_by_list', kw.pop('group_by', kw.pop('group_by_expression', None)))
+    group_by_list = kw.pop('group_by_list', kw.pop('group_by', kw.pop('group_by_expression', ())))
     if isinstance(group_by_list, basestring):
       group_by_list = [x.strip() for x in group_by_list.split(',')]
     select_dict = kw.pop('select_dict', kw.pop('select_list', kw.pop('select_expression', None)))
@@ -2144,7 +2144,7 @@
     # It is required to support select_expression_key parameter for backward
     # compatiblity, but I'm not sure if there can be a serious use for it in
     # new API.
-    order_by_override_list = kw.pop('select_expression_key', None)
+    order_by_override_list = kw.pop('select_expression_key', ())
     query = EntireQuery(
       query=self.buildQuery(kw, ignore_empty_string=ignore_empty_string),
       order_by_list=order_by_list,




More information about the Erp5-report mailing list