Update of /cvsroot/modeling/ProjectModeling/Modeling
In directory sc8-pr-cvs1:/tmp/cvs-serv11735
Modified Files:
Attribute.py CHANGES
Log Message:
Attribute: fixed defaultValueAsPythonStatement() and
convertStringToAttributeType(): they were failing to operate properly
under python2.2 (StringType.__name__ is 'string' for py2.1, 'str' for
py2.2)
Index: Attribute.py
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/Attribute.py,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** Attribute.py 14 Mar 2003 14:27:25 -0000 1.10
--- Attribute.py 17 Mar 2003 11:15:11 -0000 1.11
***************
*** 72,76 ****
KeywordIndex)
def availableTypes():
! #return ('string', 'int', 'float', 'tuple')
return tuple([t.__name__ for t in (types.StringType,
types.IntType,
--- 72,76 ----
KeywordIndex)
def availableTypes():
! #return ('string'(py2.1)/'str'(py2.2), 'int', 'float', 'tuple')
return tuple([t.__name__ for t in (types.StringType,
types.IntType,
***************
*** 179,183 ****
return 'None'
my_type=self.type()
! if my_type=='string':
#if self.defaultValue() is None: return 'None'
import re
--- 179,183 ----
return 'None'
my_type=self.type()
! if my_type in ('string', 'str'):
#if self.defaultValue() is None: return 'None'
import re
***************
*** 330,341 ****
See: setDefaultValue()
"""
if aValue=='None':
! if self.type() in ('int', 'float', 'string', 'DateTime'):
return None
else:
raise ModelError, \
! "Invalid 'None' default value for attribute '%s'"% self._name
if not aValue:
! if self.type()=='string': return ""
if self.type()=='int': return 0
if self.type()=='float': return 0.0
--- 330,342 ----
See: setDefaultValue()
"""
+ # NB: types.StringType.__name__: 'string' in py2.1, 'str' in py2.2
if aValue=='None':
! if self.type() in availableTypes():
return None
else:
raise ModelError, \
! "Invalid 'None' default value for attribute '%s' (type: %s)"%(self._name, self.type())
if not aValue:
! if self.type() in ('string', 'str'): return ""
if self.type()=='int': return 0
if self.type()=='float': return 0.0
***************
*** 343,347 ****
if self.type()=='DateTime': return DateFrom(time.time())
try:
! if self.type()=='string': return str(aValue)
if self.type()=='int': return int(aValue)
if self.type()=='float': return float(aValue)
--- 344,348 ----
if self.type()=='DateTime': return DateFrom(time.time())
try:
! if self.type() in ('string', 'str'): return str(aValue)
if self.type()=='int': return int(aValue)
if self.type()=='float': return float(aValue)
Index: CHANGES
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/CHANGES,v
retrieving revision 1.84
retrieving revision 1.85
diff -C2 -d -r1.84 -r1.85
*** CHANGES 17 Mar 2003 10:28:19 -0000 1.84
--- CHANGES 17 Mar 2003 11:15:12 -0000 1.85
***************
*** 8,11 ****
--- 8,16 ----
--------------------------------------------------------
+ * Attribute: fixed defaultValueAsPythonStatement() and
+ convertStringToAttributeType(): they were failing to operate properly
+ under python2.2 (StringType.__name__ is 'string' for py2.1, 'str' for
+ py2.2)
+
* Fixed Entity.objectsPathForKeyPath(): under some circumstances it did not
raise ValueError as expected for an invalid keypath
|