[Checkins] SVN: Missing/trunk/ Added a __class__ to Missing.Value objects - this is based on the chameleon_fix branch
Hanno Schlichting
hannosch at hannosch.eu
Wed Jun 16 08:59:49 EDT 2010
Log message for revision 113527:
Added a __class__ to Missing.Value objects - this is based on the chameleon_fix branch
Changed:
U Missing/trunk/CHANGES.txt
U Missing/trunk/src/Missing/_Missing.c
U Missing/trunk/src/Missing/tests.py
-=-
Modified: Missing/trunk/CHANGES.txt
===================================================================
--- Missing/trunk/CHANGES.txt 2010-06-16 12:31:28 UTC (rev 113526)
+++ Missing/trunk/CHANGES.txt 2010-06-16 12:59:48 UTC (rev 113527)
@@ -4,6 +4,7 @@
2.13.1 (unreleased)
-------------------
+- Added a ``__class__`` to Missing.Value objects.
2.13.0 (2010-03-30)
-------------------
Modified: Missing/trunk/src/Missing/_Missing.c
===================================================================
--- Missing/trunk/src/Missing/_Missing.c 2010-06-16 12:31:28 UTC (rev 113526)
+++ Missing/trunk/src/Missing/_Missing.c 2010-06-16 12:59:48 UTC (rev 113527)
@@ -187,6 +187,11 @@
}
else legal=NULL;
+ if (strcmp(c,"__class__")==0)
+ {
+ return Py_FindAttrString(self, c);
+ }
+
if(! legal)
{
if(strcmp(c,"__reduce__")==0)
@@ -229,7 +234,7 @@
static PyExtensionClass MissingType = {
PyObject_HEAD_INIT(NULL)
0, /*ob_size*/
- "Missing", /*tp_name*/
+ "Missing.Value", /*tp_name*/
sizeof(Missing), /*tp_basicsize*/
0, /*tp_itemsize*/
/* methods */
Modified: Missing/trunk/src/Missing/tests.py
===================================================================
--- Missing/trunk/src/Missing/tests.py 2010-06-16 12:31:28 UTC (rev 113526)
+++ Missing/trunk/src/Missing/tests.py 2010-06-16 12:59:48 UTC (rev 113527)
@@ -32,9 +32,27 @@
1
>>> Value == Value + 1
1
+>>> Value.__class__
+<type 'Missing.Value'>
-$Id$
+>>> type(Value())
+<type 'Missing.Value'>
+
+>>> from Missing import MV
+
+>>> MV.__class__
+<type 'Missing.Value'>
+>>> type(MV())
+<type 'Missing.Value'>
+
+>>> from Missing import V
+
+>>> V.__class__
+<type 'Missing.Value'>
+>>> type(V())
+<type 'Missing.Value'>
"""
+
import unittest
from doctest import DocTestSuite
@@ -42,5 +60,3 @@
return unittest.TestSuite((
DocTestSuite(),
))
-
-if __name__ == '__main__': unittest.main()
More information about the checkins
mailing list