/usr/lib/python3/dist-packages/zope/interface/tests/__pycache__
Edit: /usr/lib/python3/dist-packages/zope/interface/tests/__pycache__/odd.cpython-310.pyc (3468B)
o
$
x`Š ã @ sV d Z G dd„ deƒZG dd„ deƒZedejdd„ ej ¡ D ƒƒZG dd„ deƒZd S )
ag 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
c @ s e Zd Zdd„ ZdS )Ú
MetaMetaClassc C s |dkr| S t | |¡S ©NÚ __class__)ÚtypeÚ__getattribute__)ÚclsÚname© r ú:/usr/lib/python3/dist-packages/zope/interface/tests/odd.pyr G s zMetaMetaClass.__getattribute__N)Ú__name__Ú
__module__Ú__qualname__r r r r r r E s r c @ s0 e Zd ZdZdd„ Zdd„ Zdd„ Zdd „ Zd
S )Ú MetaClasszOdd classes
c C s || _ || _| j |¡ d S ©N)r
Ú __bases__Ú__dict__Úupdate)Úselfr ÚbasesÚdictr r r Ú__init__R s zMetaClass.__init__c C s t | ƒS r )ÚOddInstance©r r r r Ú__call__W s zMetaClass.__call__c C s0 | j D ]}t||| ƒ}|| ur| S qt|ƒ‚r )r ÚgetattrÚAttributeError)r r ÚbÚvr r r Ú__getattr__Z s
ÿzMetaClass.__getattr__c C s d| j tt| ƒƒf S )Nz
)r
ÚhexÚidr r r r Ú__repr__a s zMetaClass.__repr__N)r
r r Ú__doc__r r r r r r r r r
N s r
c C s i | ]\}}|d vr||“qS )©r r )Ú.0Úkr r r r Ú
g s ÿr% c @ s4 e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd d
„ ZdS )r c C s || j d<