I'm back from the dead with new tweaks to MiddleKit in CVS HEAD:
* Attribute names, which must be compatible with Python (since they get used=
as method names), are now checked against a regex. (MiddleKit/Core/Attr.py=
* Integer overflow error checking is reinstated under Python 2.3. In other=
words: Fixed the code generation for setSomeInt() to raise OverflowError if=
the argument cannot be reduced to an int (vs. a long). This is important=
because databases don't have arbitrarily long longs like Python does. This=
behavior already exists in MiddleKit under Python <2.3.
* Added MiddleObject.refetch() for refreshing a single object from it's data=
in the database. It's an experimental method; i.e., I didn't think about it=
real hard. :-)
=09=09Refetches the object's attributes from the store.
=09=09Only works for non-changed objects from a store.
=09=09@@ not covered by test suite yet
=09=09assert not self.isChanged()
=09=09result =3D self.store().fetchObject(self.__class__, self.serialNum())
=09=09assert result is self, 'expecting result to be self. self=3D%r, result=3D%r' %=
* Tweaked an assert in MiddleKit.Run.ObjectStore._deleteObject() to be more=
* Tweaked MiddleKit/Tests/FixPath to fix the sys.path a little bit more.=
Required on my Python 2.3 on Windows XP box.
* Enhanced MiddleKit/Tests/Test.py to summarize the results of each test at=
the very end, like so:
*** FAILED *** MKDelete.mkmodel
*** FAILED *** MKDeleteMark.mkmodel
*** FAILED *** MKMultipleThreads.mkmodel
Which brings me to my next topic which I'll post separately.