Your IP : 172.28.240.42


Current Path : /usr/lib/python2.7/dist-packages/zope/interface/tests/
Upload File :
Current File : //usr/lib/python2.7/dist-packages/zope/interface/tests/odd.pyc

ó
ÔËÞKc@s‰dZdefd„ƒYZdefd„ƒYZdefd„ƒYZedkr…dd	lZdd	lZej	ed
d„ƒnd	S(sœOdd meta class that doesn't subclass type.

This is used for testing support for ExtensionClass in new interfaces.

  >>> class A(object):
  ...     __metaclass__ = MetaClass
  ...     a = 1
  ...
  >>> A.__name__
  'A'
  >>> A.__bases__ == (object,)
  True
  >>> class B(object):
  ...     __metaclass__ = MetaClass
  ...     b = 1
  ...
  >>> class C(A, B): pass
  ...
  >>> C.__name__
  'C'
  >>> int(C.__bases__ == (A, B))
  1
  >>> a = A()
  >>> aa = A()
  >>> a.a
  1
  >>> aa.a
  1
  >>> aa.a = 2
  >>> a.a
  1
  >>> aa.a
  2
  >>> c = C()
  >>> c.a
  1
  >>> c.b
  1
  >>> c.b = 2
  >>> c.b
  2
  >>> C.c = 1
  >>> c.c
  1
  >>> import sys
  >>> if sys.version[0] == '2': # This test only makes sense under Python 2.x
  ...     from types import ClassType
  ...     assert not isinstance(C, (type, ClassType))
  
  >>> int(C.__class__.__class__ is C.__class__)
  1

$Id: odd.py 110699 2010-04-09 08:16:17Z regebro $
t
MetaMetaClasscBseZd„ZRS(cCs |dkr|Stj||ƒS(Nt	__class__(ttypet__getattribute__(tselftname((s</usr/lib/python2.7/dist-packages/zope/interface/tests/odd.pyRIs(t__name__t
__module__R(((s</usr/lib/python2.7/dist-packages/zope/interface/tests/odd.pyRGst	MetaClasscBs8eZdZeZd„Zd„Zd„Zd„ZRS(sOdd classes
    cCs&||_||_|jj|ƒdS(N(Rt	__bases__t__dict__tupdate(RRtbasestdict((s</usr/lib/python2.7/dist-packages/zope/interface/tests/odd.pyt__init__Ts		cCs
t|ƒS(N(tOddInstance(R((s</usr/lib/python2.7/dist-packages/zope/interface/tests/odd.pyt__call__YscCsFx3|jD](}t|||ƒ}||k	r
|Sq
Wt|ƒ‚dS(N(R	tgetattrtAttributeError(RRtbtv((s</usr/lib/python2.7/dist-packages/zope/interface/tests/odd.pyt__getattr__\s
cCsd|jtt|ƒƒfS(Ns<odd class %s at %s>(Rthextid(R((s</usr/lib/python2.7/dist-packages/zope/interface/tests/odd.pyt__repr__cs(	RRt__doc__Rt
__metaclass__RRRR(((s</usr/lib/python2.7/dist-packages/zope/interface/tests/odd.pyROs			RcBs5eZd„Zd„Zd„Zd„Zd„ZRS(cCs||jd<dS(NR(R
(Rtcls((s</usr/lib/python2.7/dist-packages/zope/interface/tests/odd.pyRhscCsUtj|dƒ}|dkr"|S|j||ƒ}||k	rD|St|d|ƒS(NR
R(tobjectRtgetR(RRR
R((s</usr/lib/python2.7/dist-packages/zope/interface/tests/odd.pyRkscCs||j|<dS(N(R
(RRR((s</usr/lib/python2.7/dist-packages/zope/interface/tests/odd.pyt__setattr__tscCs|j|=dS(N(R
(RR((s</usr/lib/python2.7/dist-packages/zope/interface/tests/odd.pyt__delattr__wscCs d|jjtt|ƒƒfS(Ns<odd %s instance at %s>(RRRR(R((s</usr/lib/python2.7/dist-packages/zope/interface/tests/odd.pyRzs(RRRRRRR(((s</usr/lib/python2.7/dist-packages/zope/interface/tests/odd.pyRfs
					t__main__iÿÿÿÿNt	isprivatecGstS(N(tFalse(ta((s</usr/lib/python2.7/dist-packages/zope/interface/tests/odd.pyt<lambda>ƒs(
RRRRRRRtdoctestR ttestmod(((s</usr/lib/python2.7/dist-packages/zope/interface/tests/odd.pyt<module>Cs