File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/cherrypy/lib/__pycache__/gctools.cpython-310.pyc
Back
o ;j� � @ s� d dl Z d dlZd dlZd dlZzd dlZW n ey! dZY nw d dlZd dlmZmZ d dl m Z G dd� de�Zdd� Z G dd � d e �Zeej�Ze�� d d� ZG dd � d e�ZdS )� N)� _cprequest�_cpwsgi)�SimplePluginc @ sB e Zd ZdZdZddd�Zdd d �Zdd� Zddd�Zdd� Z dS )�ReferrerTreezDAn object which gathers all referrers of an object to a given depth.�( N� � c C s, |pg | _ | j �t�� j� || _|| _d S )N)�ignore�append�inspect�currentframe�f_back�maxdepth� maxparents)�selfr r r � r �H/opt/saltstack/salt/lib/python3.10/site-packages/cherrypy/lib/gctools.py�__init__ s zReferrerTree.__init__� c C s� |d7 }g }t �|�}| j�|� t|�| jkr!dt|� g fgS z| jj}W n ty5 | jj j }Y nw |D ]+}t�|�rE|j |u rEq8|| jv rKq8|| jkr\|�|| �||�f� q8|�|g f� q8|S )z>Return a nested list containing referrers of the given object.r z[%s referrers])�gcZ get_referrersr r �lenr �ascend�__code__�AttributeErrorZim_funcZ func_coder �isframe�f_coder )r �obj�depth�parentsZrefsZ ascendcode�parentr r r r s( � zReferrerTree.ascendc C s>