--- /dev/null
+"""Something just to look at via pydoc."""\r
+\r
+import types\r
+\r
+class A_classic:\r
+ "A classic class."\r
+ def A_method(self):\r
+ "Method defined in A."\r
+ def AB_method(self):\r
+ "Method defined in A and B."\r
+ def AC_method(self):\r
+ "Method defined in A and C."\r
+ def AD_method(self):\r
+ "Method defined in A and D."\r
+ def ABC_method(self):\r
+ "Method defined in A, B and C."\r
+ def ABD_method(self):\r
+ "Method defined in A, B and D."\r
+ def ACD_method(self):\r
+ "Method defined in A, C and D."\r
+ def ABCD_method(self):\r
+ "Method defined in A, B, C and D."\r
+\r
+\r
+class B_classic(A_classic):\r
+ "A classic class, derived from A_classic."\r
+ def AB_method(self):\r
+ "Method defined in A and B."\r
+ def ABC_method(self):\r
+ "Method defined in A, B and C."\r
+ def ABD_method(self):\r
+ "Method defined in A, B and D."\r
+ def ABCD_method(self):\r
+ "Method defined in A, B, C and D."\r
+ def B_method(self):\r
+ "Method defined in B."\r
+ def BC_method(self):\r
+ "Method defined in B and C."\r
+ def BD_method(self):\r
+ "Method defined in B and D."\r
+ def BCD_method(self):\r
+ "Method defined in B, C and D."\r
+\r
+class C_classic(A_classic):\r
+ "A classic class, derived from A_classic."\r
+ def AC_method(self):\r
+ "Method defined in A and C."\r
+ def ABC_method(self):\r
+ "Method defined in A, B and C."\r
+ def ACD_method(self):\r
+ "Method defined in A, C and D."\r
+ def ABCD_method(self):\r
+ "Method defined in A, B, C and D."\r
+ def BC_method(self):\r
+ "Method defined in B and C."\r
+ def BCD_method(self):\r
+ "Method defined in B, C and D."\r
+ def C_method(self):\r
+ "Method defined in C."\r
+ def CD_method(self):\r
+ "Method defined in C and D."\r
+\r
+class D_classic(B_classic, C_classic):\r
+ "A classic class, derived from B_classic and C_classic."\r
+ def AD_method(self):\r
+ "Method defined in A and D."\r
+ def ABD_method(self):\r
+ "Method defined in A, B and D."\r
+ def ACD_method(self):\r
+ "Method defined in A, C and D."\r
+ def ABCD_method(self):\r
+ "Method defined in A, B, C and D."\r
+ def BD_method(self):\r
+ "Method defined in B and D."\r
+ def BCD_method(self):\r
+ "Method defined in B, C and D."\r
+ def CD_method(self):\r
+ "Method defined in C and D."\r
+ def D_method(self):\r
+ "Method defined in D."\r
+\r
+\r
+class A_new(object):\r
+ "A new-style class."\r
+\r
+ def A_method(self):\r
+ "Method defined in A."\r
+ def AB_method(self):\r
+ "Method defined in A and B."\r
+ def AC_method(self):\r
+ "Method defined in A and C."\r
+ def AD_method(self):\r
+ "Method defined in A and D."\r
+ def ABC_method(self):\r
+ "Method defined in A, B and C."\r
+ def ABD_method(self):\r
+ "Method defined in A, B and D."\r
+ def ACD_method(self):\r
+ "Method defined in A, C and D."\r
+ def ABCD_method(self):\r
+ "Method defined in A, B, C and D."\r
+\r
+ def A_classmethod(cls, x):\r
+ "A class method defined in A."\r
+ A_classmethod = classmethod(A_classmethod)\r
+\r
+ def A_staticmethod():\r
+ "A static method defined in A."\r
+ A_staticmethod = staticmethod(A_staticmethod)\r
+\r
+ def _getx(self):\r
+ "A property getter function."\r
+ def _setx(self, value):\r
+ "A property setter function."\r
+ def _delx(self):\r
+ "A property deleter function."\r
+ A_property = property(fdel=_delx, fget=_getx, fset=_setx,\r
+ doc="A sample property defined in A.")\r
+\r
+ A_int_alias = int\r
+\r
+class B_new(A_new):\r
+ "A new-style class, derived from A_new."\r
+\r
+ def AB_method(self):\r
+ "Method defined in A and B."\r
+ def ABC_method(self):\r
+ "Method defined in A, B and C."\r
+ def ABD_method(self):\r
+ "Method defined in A, B and D."\r
+ def ABCD_method(self):\r
+ "Method defined in A, B, C and D."\r
+ def B_method(self):\r
+ "Method defined in B."\r
+ def BC_method(self):\r
+ "Method defined in B and C."\r
+ def BD_method(self):\r
+ "Method defined in B and D."\r
+ def BCD_method(self):\r
+ "Method defined in B, C and D."\r
+\r
+class C_new(A_new):\r
+ "A new-style class, derived from A_new."\r
+\r
+ def AC_method(self):\r
+ "Method defined in A and C."\r
+ def ABC_method(self):\r
+ "Method defined in A, B and C."\r
+ def ACD_method(self):\r
+ "Method defined in A, C and D."\r
+ def ABCD_method(self):\r
+ "Method defined in A, B, C and D."\r
+ def BC_method(self):\r
+ "Method defined in B and C."\r
+ def BCD_method(self):\r
+ "Method defined in B, C and D."\r
+ def C_method(self):\r
+ "Method defined in C."\r
+ def CD_method(self):\r
+ "Method defined in C and D."\r
+\r
+class D_new(B_new, C_new):\r
+ """A new-style class, derived from B_new and C_new.\r
+ """\r
+\r
+ def AD_method(self):\r
+ "Method defined in A and D."\r
+ def ABD_method(self):\r
+ "Method defined in A, B and D."\r
+ def ACD_method(self):\r
+ "Method defined in A, C and D."\r
+ def ABCD_method(self):\r
+ "Method defined in A, B, C and D."\r
+ def BD_method(self):\r
+ "Method defined in B and D."\r
+ def BCD_method(self):\r
+ "Method defined in B, C and D."\r
+ def CD_method(self):\r
+ "Method defined in C and D."\r
+ def D_method(self):\r
+ "Method defined in D."\r
+\r
+class FunkyProperties(object):\r
+ """From SF bug 472347, by Roeland Rengelink.\r
+\r
+ Property getters etc may not be vanilla functions or methods,\r
+ and this used to make GUI pydoc blow up.\r
+ """\r
+\r
+ def __init__(self):\r
+ self.desc = {'x':0}\r
+\r
+ class get_desc:\r
+ def __init__(self, attr):\r
+ self.attr = attr\r
+ def __call__(self, inst):\r
+ print 'Get called', self, inst\r
+ return inst.desc[self.attr]\r
+ class set_desc:\r
+ def __init__(self, attr):\r
+ self.attr = attr\r
+ def __call__(self, inst, val):\r
+ print 'Set called', self, inst, val\r
+ inst.desc[self.attr] = val\r
+ class del_desc:\r
+ def __init__(self, attr):\r
+ self.attr = attr\r
+ def __call__(self, inst):\r
+ print 'Del called', self, inst\r
+ del inst.desc[self.attr]\r
+\r
+ x = property(get_desc('x'), set_desc('x'), del_desc('x'), 'prop x')\r
+\r
+\r
+submodule = types.ModuleType(__name__ + '.submodule',\r
+ """A submodule, which should appear in its parent's summary""")\r