
    Yfn              	           d dl Z d dlZd dlZd dlZd dlZd dlmZmZmZm	Z	 d dl
mZ dedefdZdededefd	Zed
e	def   dededefd       ZddededefdZdee   defdZdee   defdZdee   defdZy)    N)IOAnyAnyStrCallable	decoratorimport_pathreturnc                     d| vrt        d| z        | j                  dd      \  }}t        j                  |      }t	        ||      S )N.z0Can't import '%s', it is not a valid import path   )
ValueErrorrsplit	importlibimport_modulegetattr)r	   module_pathobject_namemodules       Q/var/www/highfloat_scraper/venv/lib/python3.12/site-packages/pyinstrument/util.pyobject_with_import_pathr      sO    
+KkYZZ*11#q9K$$[1F6;''    string
max_lengthc                 8    t        |       |kD  r| d|dz
   dz   S | S )Nr      z...)len)r   r   s     r   truncater      s)    
6{Za*q.)E11Mr   func.argskwargsc                 P    t        j                  |  dt        d        | |i |S )zMarks a function as deprecated.z, is deprecated and should no longer be used.r   
stacklevelwarningswarnDeprecationWarning)r   r    r!   s      r   
deprecatedr)      s3     MM&<=
    r   option_namemessagec                 (      fd}t        |      S )zMarks an option as deprecated.c                 ^    |v r!t        j                   d t        d        | |i |S )Nz is deprecated. r   r#   r%   )r   r    r!   r+   r*   s      r   callerz!deprecated_option.<locals>.caller(   s>    & MM-/y9" T$V$$r   r   )r*   r+   r.   s   `` r   deprecated_optionr/   %   s    % Vr   file_objc                     t         j                  }|dk7  xr |dk7  xs dt        j                  v }t	        |       }|xr |S )z
    Returns True if the running system's terminal supports color.

    Borrowed from Django
    https://github.com/django/django/blob/master/django/core/management/color.py
    z	Pocket PCwin32ANSICON)sysplatformosenvironfile_is_a_tty)r0   platsupported_platformis_a_ttys       r   file_supports_colorr<   5   sG     <<D,]$'/2\YRTR\R\E\X&H*(*r   c                 h    t        | dd       }|syt        j                  |      }d|j                  v S )NencodingFutf)r   codecslookupname)r0   r>   
codec_infos      r   file_supports_unicoderD   D   s3    xT2Hx(JJOO##r   c                 >    t        | d      xr | j                         S )Nisatty)hasattrrF   )r0   s    r   r8   r8   N   s    8X&<8??+<<r   ) )r@   r   r6   r4   r&   typingr   r   r   r   pyinstrument.vendor.decoratorr   strr   intr   r)   r/   boolr<   rD   r8    r   r   <module>rO      s      	 
  , , 3( ( (S c c  !Xc3h' ! !s !s ! !3  c  +"V* + +$BvJ $4 $=BvJ =4 =r   