File: //lib/python3/dist-packages/zope/interface/__pycache__/advice.cpython-38.pyc
U
$
x`� � @ s� d Z ddlmZ zddlmZ W n ek
r8 dZY nX dZdddd d
gZddlZdd� Zddd�Z dd � Z
ddd�Zdd
� ZdS )aj Class 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�� ClassTypeTF�addClassAdvisor�determineMetaclass�getFrameInfo�isClassAdvisor�minimalBasesNc
C s� | j }| j}||k}d|k}d|k}|o*|}|o>|d |d k}|rTtj�|d �pVd}|od|j|k}|spd} n*|r~|s~d} n|r�|s�d} n|s�d} 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__)
�framer r Z
sameNamespaceZ hasModuleZhasNameZsameNamer
ZnamespaceIsModule�kind� r �7/usr/lib/python3/dist-packages/zope/interface/advice.pyr . s&