%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3/dist-packages/zope/interface/tests/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3/dist-packages/zope/interface/tests/__pycache__/odd.cpython-312.pyc

�

��e��
���dZGd�de�ZGd�d�Zedejej
j
�D��cic]\}}|dvr||��c}}�ZGd�d�Zycc}}w)	a�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

  >>> int(C.__class__.__class__ is C.__class__)
  1
c��eZdZd�Zy)�
MetaMetaClassc�<�|dk(r|Stj||�S�N�	__class__)�type�__getattribute__)�cls�names  �:/usr/lib/python3/dist-packages/zope/interface/tests/odd.pyrzMetaMetaClass.__getattribute__Cs"���;���J��$�$�S�$�/�/�N)�__name__�
__module__�__qualname__r�rrrrAs��0rrc�(�eZdZdZd�Zd�Zd�Zd�Zy)�	MetaClasszOdd classes
    c�V�||_||_|jj|�y�N)r
�	__bases__�__dict__�update)�selfr
�bases�dicts    r�__init__zMetaClass.__init__Ns"����
�����
�
���T�"rc��t|�Sr)�OddInstance�rs r�__call__zMetaClass.__call__Ss
���4� � rc�d�|jD]}t|||�}||us�|cSt|��r)r�getattr�AttributeError)rr
�b�vs    r�__getattr__zMetaClass.__getattr__Vs<�����	�A���4��&�A���}���	��T�"�"rc�^�dj|jtt|���S)Nz<odd class {} at {}>)�formatr
�hex�idrs r�__repr__zMetaClass.__repr__]s!��%�,�,�T�]�]�C��4��M�J�JrN)r
rr�__doc__rrr%r*rrrrrJs���#�
!�#�Krr�rc�*�eZdZd�Zd�Zd�Zd�Zd�Zy)rc�"�||jd<yrr,)rr	s  rrzOddInstance.__init__hs��%(��
�
�k�"rc��tj|d�}|dk(r|S|j||�}||ur|St|d|�S)Nrr)�objectr�getr!)rr
rr$s    rrzOddInstance.__getattribute__ksO���&�&�t�Z�8���:���K��H�H�T�4� ���D�=��H��t�K�(�$�/�/rc�"�||j|<yrr,)rr
r$s   r�__setattr__zOddInstance.__setattr__ts����
�
�d�rc��t��r)�NotImplementedError)rr
s  r�__delattr__zOddInstance.__delattr__ws��!�#�#rc�r�dj|jjtt	|���S)Nz<odd {} instance at {}>)r'rr
r(r)rs rr*zOddInstance.__repr__zs,��(�/�/��N�N�#�#�S��D��]�4�	4rN)r
rrrrr3r6r*rrrrrfs��)�0� �$�4rrN)r+rrrrr�itemsr)�kr$s00r�<module>r:s}��/�f0�D�0�K�K�.
�+�#�-�-�,5�,>�,>�,D�,D�,F�5�D�A�q��m�3��a�4�5�
6�	�
4�4��5s�A'

Zerion Mini Shell 1.0