commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r9109 - in trunk/gnue-forms/src: GFObjects input/displayHandlers


From: reinhard
Subject: [gnue] r9109 - in trunk/gnue-forms/src: GFObjects input/displayHandlers
Date: Mon, 4 Dec 2006 11:31:33 -0600 (CST)

Author: reinhard
Date: 2006-12-04 11:31:31 -0600 (Mon, 04 Dec 2006)
New Revision: 9109

Modified:
   trunk/gnue-forms/src/GFObjects/GFField.py
   trunk/gnue-forms/src/input/displayHandlers/Checkbox.py
   trunk/gnue-forms/src/input/displayHandlers/Cursor.py
   trunk/gnue-forms/src/input/displayHandlers/DateTime.py
   trunk/gnue-forms/src/input/displayHandlers/Numeric.py
Log:
Further work on cleaning up displayHandlers.


Modified: trunk/gnue-forms/src/GFObjects/GFField.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFField.py   2006-12-04 17:07:01 UTC (rev 
9108)
+++ trunk/gnue-forms/src/GFObjects/GFField.py   2006-12-04 17:31:31 UTC (rev 
9109)
@@ -271,7 +271,9 @@
             self.__set_value(value)
             return
 
-        if value in self._allowedValuesReverse:
+        if value is None or value == u"":
+            self.__setValue(None)
+        elif value in self._allowedValuesReverse:
             self.__set_value(self._allowedValuesReverse[value])
         else:
             raise InvalidFieldValueError(self.name, value)

Modified: trunk/gnue-forms/src/input/displayHandlers/Checkbox.py
===================================================================
--- trunk/gnue-forms/src/input/displayHandlers/Checkbox.py      2006-12-04 
17:07:01 UTC (rev 9108)
+++ trunk/gnue-forms/src/input/displayHandlers/Checkbox.py      2006-12-04 
17:31:31 UTC (rev 9109)
@@ -87,11 +87,7 @@
     else:
       return value and True or False
 
-  def _buildValue(self):
-    self.value = self.work
-    return True
 
-
   # TODO: Replace with format mask
   def _buildDisplayHelper(self, value, editing):
     return self._sanitizeValue(value)

Modified: trunk/gnue-forms/src/input/displayHandlers/Cursor.py
===================================================================
--- trunk/gnue-forms/src/input/displayHandlers/Cursor.py        2006-12-04 
17:07:01 UTC (rev 9108)
+++ trunk/gnue-forms/src/input/displayHandlers/Cursor.py        2006-12-04 
17:31:31 UTC (rev 9109)
@@ -628,25 +628,6 @@
   # Internal methods
   # --------------------------------------------------------------------------
 
-  def _buildValue(self):
-    """
-    Private function that builds the db compatible value from 
-    the currently working value.
-    """
-    if self.field._allowedValues:
-      if self.work == "":
-        self.value = None
-      else:
-        if self.field._allowedValuesReverse.has_key (self.display):
-          self.value = self.field._allowedValuesReverse [self.display]
-        else:
-          self.value = None
-          return False
-    else:
-      self.value = self.work
-    return True
-
-
   def _buildDisplayHelper(self, value, editing):
     """
     Builds a string that represents what should be 
@@ -702,7 +683,19 @@
       self.display = self._buildDisplayHelper(self.value, False)
 
 
+  def _buildValue(self):
+      self.value = self.parse_display(self.work)
+
     # -------------------------------------------------------------------------
+    # Parse the display string
+    # -------------------------------------------------------------------------
+
+  def parse_display(self, display):
+
+        return display
+
+
+    # -------------------------------------------------------------------------
     # Build the display string
     # -------------------------------------------------------------------------
 
@@ -730,8 +723,5 @@
 
   def __updateFieldValue(self):
 
-      # TODO: buildValue should raise an exception instead of return False
-      if not self._buildValue():
-            raise InvalidFieldValueError(self.field.name, self.work)
-
-      self.field.setValue(self.value)
+      self._buildValue()
+      self.field.set_value(self.work)

Modified: trunk/gnue-forms/src/input/displayHandlers/DateTime.py
===================================================================
--- trunk/gnue-forms/src/input/displayHandlers/DateTime.py      2006-12-04 
17:07:01 UTC (rev 9108)
+++ trunk/gnue-forms/src/input/displayHandlers/DateTime.py      2006-12-04 
17:31:31 UTC (rev 9109)
@@ -69,7 +69,6 @@
       else:
         format = "%m/%d/%y"
 
-##    print "format=%s, value=%s, type=%s" % (format, value, type(value))
     if value in (None, ""):
       return ""
     try:
@@ -78,27 +77,22 @@
       return str(value)
 
 
-  def _buildValue(self):
-    if not len(self.work):
-      self.value = None
-      return True
+  def parse_display(self, display):
+    if not len(display):
+        return None
 
     # TODO: Replace with format mask
     if self.__inputMask:
-      
       try:
-        tempVal = time.strptime (self.work, self.__inputMask)
-        self.value = datetime.datetime(*tempVal[0:6])
+        tempVal = time.strptime (display, self.__inputMask)
+        return datetime.datetime(*tempVal[0:6])
       except ValueError:
-        assert gDebug(6,"Date format %s invalid for mask %s" % (self.work, 
self.__inputMask))
-        return False
-      return True
+        raise InvalidDateLiteral, display
     
     # TODO: Candidate for maketrans?
     # TODO: This logic does not work for timestamps
     #       as it skips the hour,minute, second
-    value = self.work.replace('.','/').replace('-','/')
-
+    value = display.replace('.','/').replace('-','/')
     
     # Support for quick entry like '123102' for '12/31/02'
     if len(value) in (6, 8) and value.find('/') == -1:
@@ -120,8 +114,8 @@
       else:
         year = year + 2000
 
-    self.value = datetime.datetime(year, int(month), int(day))
-    return True
+    return datetime.datetime(year, int(month), int(day))
 
+
   def build_display(self, value):
       return self._buildDisplayHelper(value, False)

Modified: trunk/gnue-forms/src/input/displayHandlers/Numeric.py
===================================================================
--- trunk/gnue-forms/src/input/displayHandlers/Numeric.py       2006-12-04 
17:07:01 UTC (rev 9108)
+++ trunk/gnue-forms/src/input/displayHandlers/Numeric.py       2006-12-04 
17:31:31 UTC (rev 9109)
@@ -97,13 +97,8 @@
     return value
 
 
-  def _buildValue(self):
-    if not len(self.work):
-      self.value = None
-      return True
+  def parse_display(self, display):
+    if not len(display):
+        return None
 
-    try:
-      self.value = float(self.work)
-      return True
-    except ValueError:
-      return False
+    return float(self.work)





reply via email to

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