/[gnue]/gnue-appserver/src/geasInstance.py
ViewVC logotype

Diff of /gnue-appserver/src/geasInstance.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.22 by siesel, Thu Oct 9 21:42:10 2003 UTC revision 1.23 by reinhard, Thu Oct 16 22:54:25 2003 UTC
# Line 65  class geasInstance: Line 65  class geasInstance:
65          try:          try:
66            return int (s)            return int (s)
67          except ValueError:          except ValueError:
68            raise Exception, "Database returned invalid value '%s' for" + \            raise Exception, ("Database returned invalid value '%s' for " + \
69                             "property '%s'" % (s, propertyname)                              "property '%s'") % (s, propertyname)
70        else:        else:
71          # ... with fractional part          # ... with fractional part
72          try:          try:
73            return float (s)            return float (s)
74          except ValueError:          except ValueError:
75            raise Exception, "Database returned invalid value '%s' for" + \            raise Exception, ("Database returned invalid value '%s' for " + \
76                             "property '%s'" % (s, propertyname)                              "property '%s'") % (s, propertyname)
77                
78        elif propertydef.gnue_type == "boolean":
79          # Boolean property
80          s = self._record.getField (propertydef.column)
81          if s is None:
82            return None
83          elif s in [0, "0", "f", "F", "false", "FALSE", "n", "N", "no", "NO"]:
84            return "0"
85          elif s in [1, "1", "t", "T", "true", "true", "y", "Y", "yes", "YES"]:
86            return "1"
87          else:
88            raise Exception, ("Database returned invalid value '%s' for " + \
89                              "property '%s'") % (s, propertyname)
90    
91      elif self._classdef.classes.has_key (propertydef.gnue_type):      elif self._classdef.classes.has_key (propertydef.gnue_type):
92        # Reference property: gnue_type is a classname        # Reference property: gnue_type is a classname
93        return self._record.getField (propertydef.column)        return self._record.getField (propertydef.column)
94    
95      # TODO: Missing property types:      # TODO: Missing property types:
96      #       * datetime      #       * datetime
     #       * boolean  
97      #       * list properties      #       * list properties
98      #       * calculated properties (must have triggers working first)      #       * calculated properties (must have triggers working first)
99    
# Line 126  class geasInstance: Line 138  class geasInstance:
138        # TODO: check if value is an number        # TODO: check if value is an number
139        pass        pass
140                
141        elif propertydef.gnue_type == "boolean":
142          # Boolean property
143          if value == "":
144            value = None
145          elif value in [0, "0", "f", "F", "false", "FALSE", "n", "N", "no", "NO"]:
146            value = "0"
147          elif value in [1, "1", "t", "T", "true", "true", "y", "Y", "yes", "YES"]:
148            value = "1"
149          else:
150            raise Exception, "Invalid value '%s' for property '%s'" % \
151                             (value, propertyname)
152    
153      self._record.setField (propertydef.column, value)      self._record.setField (propertydef.column, value)
154    
155    # ---------------------------------------------------------------------------    # ---------------------------------------------------------------------------

Legend:
Removed from v.1.22  
changed lines
  Added in v.1.23

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26