관리-도구
편집 파일: _compat.cpython-39.pyc
a M�_�8 � @ s� d Z ddlZddlZddlZddlZddlZddlZg d�Zejd dkZ e � Ze rzeZ eZeZeZeZdd� Zdd� Zn e Z eZeZeZd d� Zd d� Ze r�eZneZeedfdd �Ze r�eZeZeZeZeZeZn�ddlZefdd�Zee �dd� �Zee �dd� �Zee �dd� �Zee �dd� �Zee �dd� �Zee �dd� �Ze�!� dk�r�ze"ej#d��W n. e�y| Y n e"�y� e$d��Y n0 zddlm%Z% W n� e&�yB zdd l'm(Z( W n e&�y� dd l)m(Z( Y n0 e�*d!g d"��Z+G d#d$� d$e,�Z-e � fe.eee/e0d�f�e1e2e0e3fd%d&�Z4d2d)d*�Z%Y n0 zdd+l5m6Z6 W n* e&�y~ ej7ej8B dfd,d-�Z6Y n0 zdd.l5m9Z9 W n e&�y� d3d0d1�Z9Y n0 dS )4z�Module which provides compatibility with older Python versions. This is more future-compatible rather than the opposite (prefer latest Python 3 way of doing things). � N)�PY3�long�range�super�unicode� basestring�u�b� lru_cache�which�get_terminal_size�FileNotFoundError�PermissionError�ProcessLookupError�InterruptedError�ChildProcessError�FileExistsError� c C s | S �N� ��sr r �4/usr/lib64/python3.9/site-packages/psutil/_compat.pyr + s r c C s | � d�S )Nzlatin-1)�encoder r r r r . s r c C s t | d�S )NZunicode_escape)r r r r r r 6 s c C s | S r r r r r r r 9 s � c C sX | t u �r<t�|�}z|j|jjd }W n ttfyH td��Y n0 z |j }W n> t tfy� z|jj }W n t y� td��Y n0 Y n0 |D ]�} | j� � D ]�}zNt|tj�s�t|t�r�|j}q�z |j}W q� t y� |�|| �}Y q�0 q�W n t tf�y Y q�Y n0 |j|ju r� �q,q�q� �q<q�td��|t u�rPt| |�S t| �S )zuLike Python 3 builtin super(). If called without any arguments it attempts to infer them at runtime. r z'super() used in a function with no argsz$super() used in a non-newstyle classzsuper() called outside a method)� _SENTINEL�sys� _getframe�f_locals�f_code�co_varnames� IndexError�KeyError�RuntimeError�__mro__�AttributeError� __class__�__dict__�values� isinstance�types�FunctionType�property�fget�__func__�__get__� TypeErrorZ func_code�_builtin_super)�type_Ztype_or_objZ framedepth�f�mro�methr r r r H sB r c s � fdd�}|S )Nc s* G � �fdd�d��� �j � _ �j� _� S )Nc s2 e Zd Z�� fdd�ZG �fdd�de�Z� ZS )zE_instance_checking_exception.<locals>.wrapped.<locals>.TemporaryClassc sh t |�dkrNt|d � �rN|d }t|�D ] }|�d�s*t| |t||�� q*nt� | �j|i |�� d S )Nr r �__)�lenr) �dir� startswith�setattr�getattrr �__init__)�self�args�kwargsZ unwrap_me�attr)�TemporaryClassr&