[Top][All Lists]
[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)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r9109 - in trunk/gnue-forms/src: GFObjects input/displayHandlers,
reinhard <=