commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r7439 - trunk/gnue-common/src/datasources


From: reinhard
Subject: [gnue] r7439 - trunk/gnue-common/src/datasources
Date: Wed, 20 Apr 2005 11:58:30 -0500 (CDT)

Author: reinhard
Date: 2005-04-20 11:58:29 -0500 (Wed, 20 Apr 2005)
New Revision: 7439

Modified:
   trunk/gnue-common/src/datasources/GDataSource.py
Log:
A little cleanup of initialization code.


Modified: trunk/gnue-common/src/datasources/GDataSource.py
===================================================================
--- trunk/gnue-common/src/datasources/GDataSource.py    2005-04-20 16:26:05 UTC 
(rev 7438)
+++ trunk/gnue-common/src/datasources/GDataSource.py    2005-04-20 16:58:29 UTC 
(rev 7439)
@@ -176,30 +176,32 @@
   def _buildObject (self):
 
     # Added 0.5.0 -- Delete before 1.0
-    if hasattr(self,'database'):
+    if hasattr (self, 'database'):
       self.connection = self.database
       del self.database
 
-    try:
-      if len(self.explicitfields):
-        for field in string.split(self.explicitfields,','):
+    # order_by attribute: set self.sorting
+    if hasattr (self, 'order_by'):
+      self.sorting = self.__convertOrderBy (self.order_by)
+
+    # explicitfields attribute: reference them
+    if hasattr (self, 'explicitfields'):
+      if len (self.explicitfields):
+        for field in string.split (self.explicitfields,','):
           gDebug (7, "Explicit field %s" % field)
           self.referenceField (field)
-    except AttributeError:
-      pass
 
-    self.__getSortOrder ()
-    if self.sorting:
-      for field in [item ['name'] for item in self.sorting]:
-        self._fieldReferences [field] = True
-
-    # Primary key support
+    # primarykey attribute: remember them and reference them
     if hasattr (self, 'primarykey'):
       self._primarykeyFields = self.primarykey.split (',')
+      # Make sure the primary key is included in the field references
+      for field in self._primarykeyFields:
+        self.referenceField (field)
 
-    # Make sure the primary key is included in the field references
-    for field in self._primarykeyFields:
-      self._fieldReferences [field] = True
+    # <sortorder> child: set self.sorting
+    sortorder = self.findChildOfType ('GCSortOrder')
+    if sortorder:
+      self.sorting = sortorder.sorting
 
     return GObjects.GObj._buildObject(self)
 
@@ -213,7 +215,6 @@
     self._topObject = self.findParentOfType(self._toplevelParent)
     gDebug (9, "Setting %s to connect mgr %s" \
         % (self.name, self._topObject._connections))
-    self.__getSortOrder ()
     self.setConnectionManager(self._topObject._connections)
     self.initialize()
     self.connect()
@@ -568,33 +569,6 @@
 
 
   # ---------------------------------------------------------------------------
-  # Make sure we have either no sort order, or one in the proper format
-  # ---------------------------------------------------------------------------
-
-  def __getSortOrder (self):
-
-    # If there is both, an order_by attribute *and* a sorting-tag, we've stop
-    child = self.findChildOfType ('GCSortOrder')
-    if child is not None and hasattr (self, 'order_by'):
-      raise GParser.MarkupError, \
-          (u_("The use of order_by is depreciated. Please use <sortorder> "
-              "instead"), self._url, self._lineNumber)
-
-    # If there's a sorting tag, we'll use this first
-    if child is not None:
-      self.sorting = []
-      for item in child.findChildrenOfType ('GCSortField'):
-        self.sorting.append ({'name'      : item.name,
-                              'descending': item.descending,
-                              'ignorecase': item.ignorecase})
-
-    # otherwise let's investigate the order_by attribute given
-    elif hasattr (self, 'order_by'):
-      self.sorting = self.__convertOrderBy (self.order_by)
-      delattr (self, 'order_by')
-
-
-  # ---------------------------------------------------------------------------
   # convert an order_by rule into the new 'sorting' format
   # ---------------------------------------------------------------------------
 





reply via email to

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