![]() Server : Apache/2.4.52 (Ubuntu) System : Linux webserver 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64 User : www-data ( 33) PHP Version : 8.1.2-1ubuntu2.21 Disable Function : NONE Directory : /lib/python3/dist-packages/zope/interface/tests/__pycache__/ |
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<odd class %s at %s>)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 � <dictcomp>g s �r% c @ s4 e Zd Zdd� Zdd� Zdd� Zdd� Zd d � ZdS )r c C s || j d<