�
�/Qc @ s� d Z d d l m Z y d d l m Z Wn e k
rC e Z n Xe Z d d l Z d � Z d d � Z
d � Z d d � Z
d
� Z d S( sj Class advice.
This module was adapted from 'protocols.advice', part of the Python
Enterprise Application Kit (PEAK). Please notify the PEAK authors
([email protected] and [email protected]) 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.
i����( t FunctionType( t ClassTypeNc
C s� | j } | j } | | k } d | k } d | k } | o? | } | oY | d | d k } | rx t j j | d � p{ d } | o� | j | k } | s� d } nA | r� | r� d } n+ | r� | r� d } n | s� d } n d } | | | | f S( s� Return (kind,module,locals,globals) for a frame
'kind' is one of "exec", "module", "class", "function call", or "unknown".
t
__module__t __name__t exect modulet classs
function callt unknownN( t f_localst f_globalst syst modulest gett Nonet __dict__(
t frameR R t
sameNamespacet hasModulet hasNamet sameNameR t namespaceIsModulet kind( ( s; /usr/lib64/python2.7/site-packages/zope/interface/advice.pyt getFrameInfo&