Commit | Line | Data |
---|---|---|
920dae64 AT |
1 | """Something just to look at via pydoc.""" |
2 | ||
3 | class A_classic: | |
4 | "A classic class." | |
5 | def A_method(self): | |
6 | "Method defined in A." | |
7 | def AB_method(self): | |
8 | "Method defined in A and B." | |
9 | def AC_method(self): | |
10 | "Method defined in A and C." | |
11 | def AD_method(self): | |
12 | "Method defined in A and D." | |
13 | def ABC_method(self): | |
14 | "Method defined in A, B and C." | |
15 | def ABD_method(self): | |
16 | "Method defined in A, B and D." | |
17 | def ACD_method(self): | |
18 | "Method defined in A, C and D." | |
19 | def ABCD_method(self): | |
20 | "Method defined in A, B, C and D." | |
21 | ||
22 | ||
23 | class B_classic(A_classic): | |
24 | "A classic class, derived from A_classic." | |
25 | def AB_method(self): | |
26 | "Method defined in A and B." | |
27 | def ABC_method(self): | |
28 | "Method defined in A, B and C." | |
29 | def ABD_method(self): | |
30 | "Method defined in A, B and D." | |
31 | def ABCD_method(self): | |
32 | "Method defined in A, B, C and D." | |
33 | def B_method(self): | |
34 | "Method defined in B." | |
35 | def BC_method(self): | |
36 | "Method defined in B and C." | |
37 | def BD_method(self): | |
38 | "Method defined in B and D." | |
39 | def BCD_method(self): | |
40 | "Method defined in B, C and D." | |
41 | ||
42 | class C_classic(A_classic): | |
43 | "A classic class, derived from A_classic." | |
44 | def AC_method(self): | |
45 | "Method defined in A and C." | |
46 | def ABC_method(self): | |
47 | "Method defined in A, B and C." | |
48 | def ACD_method(self): | |
49 | "Method defined in A, C and D." | |
50 | def ABCD_method(self): | |
51 | "Method defined in A, B, C and D." | |
52 | def BC_method(self): | |
53 | "Method defined in B and C." | |
54 | def BCD_method(self): | |
55 | "Method defined in B, C and D." | |
56 | def C_method(self): | |
57 | "Method defined in C." | |
58 | def CD_method(self): | |
59 | "Method defined in C and D." | |
60 | ||
61 | class D_classic(B_classic, C_classic): | |
62 | "A classic class, derived from B_classic and C_classic." | |
63 | def AD_method(self): | |
64 | "Method defined in A and D." | |
65 | def ABD_method(self): | |
66 | "Method defined in A, B and D." | |
67 | def ACD_method(self): | |
68 | "Method defined in A, C and D." | |
69 | def ABCD_method(self): | |
70 | "Method defined in A, B, C and D." | |
71 | def BD_method(self): | |
72 | "Method defined in B and D." | |
73 | def BCD_method(self): | |
74 | "Method defined in B, C and D." | |
75 | def CD_method(self): | |
76 | "Method defined in C and D." | |
77 | def D_method(self): | |
78 | "Method defined in D." | |
79 | ||
80 | ||
81 | class A_new(object): | |
82 | "A new-style class." | |
83 | ||
84 | def A_method(self): | |
85 | "Method defined in A." | |
86 | def AB_method(self): | |
87 | "Method defined in A and B." | |
88 | def AC_method(self): | |
89 | "Method defined in A and C." | |
90 | def AD_method(self): | |
91 | "Method defined in A and D." | |
92 | def ABC_method(self): | |
93 | "Method defined in A, B and C." | |
94 | def ABD_method(self): | |
95 | "Method defined in A, B and D." | |
96 | def ACD_method(self): | |
97 | "Method defined in A, C and D." | |
98 | def ABCD_method(self): | |
99 | "Method defined in A, B, C and D." | |
100 | ||
101 | def A_classmethod(cls, x): | |
102 | "A class method defined in A." | |
103 | A_classmethod = classmethod(A_classmethod) | |
104 | ||
105 | def A_staticmethod(): | |
106 | "A static method defined in A." | |
107 | A_staticmethod = staticmethod(A_staticmethod) | |
108 | ||
109 | def _getx(self): | |
110 | "A property getter function." | |
111 | def _setx(self, value): | |
112 | "A property setter function." | |
113 | def _delx(self): | |
114 | "A property deleter function." | |
115 | A_property = property(fdel=_delx, fget=_getx, fset=_setx, | |
116 | doc="A sample property defined in A.") | |
117 | ||
118 | A_int_alias = int | |
119 | ||
120 | class B_new(A_new): | |
121 | "A new-style class, derived from A_new." | |
122 | ||
123 | def AB_method(self): | |
124 | "Method defined in A and B." | |
125 | def ABC_method(self): | |
126 | "Method defined in A, B and C." | |
127 | def ABD_method(self): | |
128 | "Method defined in A, B and D." | |
129 | def ABCD_method(self): | |
130 | "Method defined in A, B, C and D." | |
131 | def B_method(self): | |
132 | "Method defined in B." | |
133 | def BC_method(self): | |
134 | "Method defined in B and C." | |
135 | def BD_method(self): | |
136 | "Method defined in B and D." | |
137 | def BCD_method(self): | |
138 | "Method defined in B, C and D." | |
139 | ||
140 | class C_new(A_new): | |
141 | "A new-style class, derived from A_new." | |
142 | ||
143 | def AC_method(self): | |
144 | "Method defined in A and C." | |
145 | def ABC_method(self): | |
146 | "Method defined in A, B and C." | |
147 | def ACD_method(self): | |
148 | "Method defined in A, C and D." | |
149 | def ABCD_method(self): | |
150 | "Method defined in A, B, C and D." | |
151 | def BC_method(self): | |
152 | "Method defined in B and C." | |
153 | def BCD_method(self): | |
154 | "Method defined in B, C and D." | |
155 | def C_method(self): | |
156 | "Method defined in C." | |
157 | def CD_method(self): | |
158 | "Method defined in C and D." | |
159 | ||
160 | class D_new(B_new, C_new): | |
161 | """A new-style class, derived from B_new and C_new. | |
162 | """ | |
163 | ||
164 | def AD_method(self): | |
165 | "Method defined in A and D." | |
166 | def ABD_method(self): | |
167 | "Method defined in A, B and D." | |
168 | def ACD_method(self): | |
169 | "Method defined in A, C and D." | |
170 | def ABCD_method(self): | |
171 | "Method defined in A, B, C and D." | |
172 | def BD_method(self): | |
173 | "Method defined in B and D." | |
174 | def BCD_method(self): | |
175 | "Method defined in B, C and D." | |
176 | def CD_method(self): | |
177 | "Method defined in C and D." | |
178 | def D_method(self): | |
179 | "Method defined in D." | |
180 | ||
181 | class FunkyProperties(object): | |
182 | """From SF bug 472347, by Roeland Rengelink. | |
183 | ||
184 | Property getters etc may not be vanilla functions or methods, | |
185 | and this used to make GUI pydoc blow up. | |
186 | """ | |
187 | ||
188 | def __init__(self): | |
189 | self.desc = {'x':0} | |
190 | ||
191 | class get_desc: | |
192 | def __init__(self, attr): | |
193 | self.attr = attr | |
194 | def __call__(self, inst): | |
195 | print 'Get called', self, inst | |
196 | return inst.desc[self.attr] | |
197 | class set_desc: | |
198 | def __init__(self, attr): | |
199 | self.attr = attr | |
200 | def __call__(self, inst, val): | |
201 | print 'Set called', self, inst, val | |
202 | inst.desc[self.attr] = val | |
203 | class del_desc: | |
204 | def __init__(self, attr): | |
205 | self.attr = attr | |
206 | def __call__(self, inst): | |
207 | print 'Del called', self, inst | |
208 | del inst.desc[self.attr] | |
209 | ||
210 | x = property(get_desc('x'), set_desc('x'), del_desc('x'), 'prop x') |