%PDF- %PDF-
Mini Shell

Mini Shell

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

�

��e2��>�dZddlmZgd�ZddlZd�Zd�Zd	d�Zd�Zy)
ajClass advice.

This module was adapted from 'protocols.advice', part of the Python
Enterprise Application Kit (PEAK).  Please notify the PEAK authors
(pje@telecommunity.com and tsarna@sarna.org) if bugs are found or
Zope-specific changes are required, so that the PEAK version of this module
can be kept in sync.

PEAK is a Python application framework that interoperates with (but does
not require) Zope 3 and Twisted.  It provides tools for manipulating UML
models, object-relational persistence, aspect-oriented programming, and more.
Visit the PEAK home page at http://peak.telecommunity.com for more information.
�)�FunctionType)�determineMetaclass�getFrameInfo�isClassAdvisor�minimalBasesNc�,�|j}|j}||u}d|v}d|v}|xr|}|xr|d|dk(}|xr"tjj	|d�xsd}|xr|j
|u}|sd}	n|r|sd}	n|r|sd}	n|sd}	nd}	|	|||fS)	z�Return (kind,module,locals,globals) for a frame

    'kind' is one of "exec", "module", "class", "function call", or "unknown".
    �
__module__�__name__N�exec�module�classz
function call�unknown)�f_locals�	f_globals�sys�modules�get�__dict__)
�framerr�
sameNamespace�	hasModule�hasName�sameNamer�namespaceIsModule�kinds
          �7/usr/lib/python3/dist-packages/zope/interface/advice.pyrr's����~�~�H����I��	�)�M���(�I��I�%�G��$�W�H��I�I�j�1�8�L�3I�I�H�
�
?�������:�)>�?�
G�4�F��?�6�?�?�i�#?�����	�y���	�-���
��������9�,�,�c�>�t|t�xrt|d�S)z(True if 'ob' is a class advisor function�previousMetaclass)�
isinstancer�hasattr)�obs rrrKs���b��&�J�7�2�6I�+J�Jrc
���|D�cgc]}t|dt|����}}|�|j|�t|�dk(r|dSt	|�}t|�dkDrtd|��|dScc}w)zEDetermine metaclass from 1+ bases and optional explicit __metaclass__�	__class__�rzIncompatible metatypes)�getattr�type�append�lenr�	TypeError)�bases�explicit_mc�b�meta�
candidatess     rrrPs���5:�:�q�G�A�k�$�q�'�*�:�D�:���	
���K� �
�4�y�!�|��A�w���d�#�J�
�:��q���0�%�8�8��a�=���%;s�A4c��g}|D]B}|D]}t||�s�||us��||vr|j|�|j|��D|S)z?Reduce a list of base classes to its ordered minimum equivalent)�
issubclass�remover()�classesr/�m�ns    rrrhsd���J�
�!���	!�A��!�A��1�A�:��	!�
�J���!�!�!�$����a� �!��r)N)	�__doc__�typesr�__all__rrrrr�rr�<module>r:s1�������!-�HK�
�0r

Zerion Mini Shell 1.0