Update of /cvsroot/webware/Webware/MiddleKit/Design
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22738/Design
Modified Files:
PythonGenerator.py
Log Message:
- Convert more "type(foo) is bar" to "isinstance(foo, bar)"
- Support real bool values (True, False) in code gen of BoolAttrs
Index: PythonGenerator.py
===================================================================
RCS file: /cvsroot/webware/Webware/MiddleKit/Design/PythonGenerator.py,v
retrieving revision 1.40
retrieving revision 1.41
diff -C2 -d -r1.40 -r1.41
*** PythonGenerator.py 20 Feb 2005 20:23:50 -0000 1.40
--- PythonGenerator.py 23 Feb 2005 01:09:25 -0000 1.41
***************
*** 3,7 ****
from time import asctime, localtime, time
import string
! import os, sys
from types import *
from MiddleKit.Core.ObjRefAttr import objRefJoin
--- 3,7 ----
from time import asctime, localtime, time
import string
! import os, sys, types
from types import *
from MiddleKit.Core.ObjRefAttr import objRefJoin
***************
*** 187,191 ****
if self.has_key('Default'):
default = self['Default']
! if type(default) is type(''):
default = default.strip()
if not default:
--- 187,191 ----
if self.has_key('Default'):
default = self['Default']
! if isinstance(default, types.StringTypes):
default = default.strip()
if not default:
***************
*** 294,301 ****
out.write('''\
if value is not None:
! if type(value) is not types.IntType:
! raise TypeError, 'expecting int for bool, but got value %r of type %r instead' % (value, type(value))
! if value not in (0, 1):
! raise ValueError, 'expecting 0 or 1 for bool, but got %s instead' % value
''')
--- 294,301 ----
out.write('''\
if value is not None:
! if not isinstance(value, types.IntType):
! raise TypeError, 'expecting bool or int for bool, but got value %r of type %r instead' % (value, type(value))
! if value not in (True, False, 1, 0):
! raise ValueError, 'expecting True, False, 1 or 0 for bool, but got %s instead' % value
''')
***************
*** 310,318 ****
out.write('''\
if value is not None:
! if type(value) is types.LongType:
value = int(value)
! if type(value) is types.LongType: # happens in Python 2.3
raise OverflowError, value
! elif type(value) is not types.IntType:
raise TypeError, 'expecting int type, but got value %r of type %r instead' % (value, type(value))
''')
--- 310,318 ----
out.write('''\
if value is not None:
! if isinstance(value, types.LongType):
value = int(value)
! if isinstance(value, types.LongType): # happens in Python 2.3
raise OverflowError, value
! elif not isinstance(value, types.IntType):
raise TypeError, 'expecting int type, but got value %r of type %r instead' % (value, type(value))
''')
***************
*** 328,334 ****
out.write('''\
if value is not None:
! if type(value) is types.IntType:
value = long(value)
! elif type(value) is not types.LongType:
raise TypeError, 'expecting long type, but got value %r of type %r instead' % (value, type(value))
''')
--- 328,334 ----
out.write('''\
if value is not None:
! if isinstance(value, types.IntType):
value = long(value)
! elif not isinstance(value, types.LongType):
raise TypeError, 'expecting long type, but got value %r of type %r instead' % (value, type(value))
''')
***************
*** 344,350 ****
out.write('''\
if value is not None:
! if type(value) in (types.IntType, types.LongType):
value = float(value)
! elif type(value) is not types.FloatType:
raise TypeError, 'expecting float type, but got value %r of type %r instead' % (value, type(value))
''')
--- 344,350 ----
out.write('''\
if value is not None:
! if isinstance(value, (types.IntType, types.LongType)):
value = float(value)
! elif not isinstance(value, types.FloatType):
raise TypeError, 'expecting float type, but got value %r of type %r instead' % (value, type(value))
''')
|