Format: application/x-python-code
⬇ Download File (11.6 KB)
   1  o
   2  
   3  ��h�A�@sPddlZddlZddlZddlZddlmZddlmZmZm	Z	m
   4  Z
   5  dejvs)J�ddlZddl
   6  mZddlZddlZddlmZddlmZdZd	�eje�ZGd
   7  d�de�Ze�Zdd
   8  d�e_dd�Zeedd�Zdd�Z dd�Z!dd�fdd�Z"dd�Z#dd�Z$dd�Z%dd�d fd!e&fd"d#�Z'd$de fd%de!fd&d'e"d(�fd)de#d*d
   9  �fd+d,e$d-�fd.d,e$d/�fd0de#d1d
  10  �fd2d3e%fd4d5e"d6�fd7d8e'd9d
  11  d:�fd;d<e'd=�fd>d?e'd@�fdAdBe'dCe�fg
  12  Z(dDdE�Z)dFe*fdGdH�Z+dIdJ�Z,dKe-fdLdM�Z.dNe-fdOdP�Z/e-�d fdFe*dNe-dQe-fdRdS�Z0dTdU�Z1dVdW�Z2dXdY�Z3dZd[�Z4d\d]�Z5d^d_�Z6dS)`�N)�	find_spec)�Any�Union�Tuple�Dict�pydevd)�pydevd_runpy)�log)�apiz2<filename> | -m <module> | -c <code> | --pid <pid>a0debugpy {0}
  13  See https://aka.ms/debugpy for documentation.
  14  
  15  Usage: debugpy --listen | --connect
  16                 [<host>:]<port>
  17                 [--wait-for-client]
  18                 [--configure-<name> <value>]...
  19                 [--log-to <path>] [--log-to-stderr]
  20                 {1}
  21                 [<arg>]...
  22  c@szeZdZUdZdZeeeefdfe	d<dZ
  23  dZdZeedfe	d<dZ
  24  eedfe	d<dZdZiZeeefe	d<dS)�OptionsN�addressF�target�target_kind�config)�__name__�
  25  __module__�__qualname__�moderrr�str�int�__annotations__�log_to�
  26  log_to_stderrr
  27  r�wait_for_client�adapter_access_tokenrrr�rr�Hc:\Users\shubh\Videos\agent\nova\Lib\site-packages\debugpy/server/cli.pyr,s
  28  r�noneT)ZqtZ
  29  subProcessc����fdd�}|S)NcsH�|�}�dur|�krtd������dur"|�kr"td�����|S)Nzmust be >= {0}z
  30  must be < {0})�
  31  ValueError�format)�s�n��parser�start�stoprr�parse=szin_range.<locals>.parser)r$r%r&r'rr#r�in_range<sr(cCstttjd�t�d�dS)N��filer)�print�HELP�sys�stderr�exit��switch�itrrr�print_help_and_exitKsr3cCsttj�t�d�dS�Nr)r+�debugpy�__version__r-r/r0rrr�print_version_and_exitPs
  32  r7cC�|S�Nr��xrrr�<lambda>U�r<c���fdd�}|S)Ncs�t|��}tt�|�dSr9)�next�setattr�options)�argr2�value�r$�varnamerr�doVszset_arg.<locals>.dor)rEr$rFrrDr�set_argUsrGcr>)Ncstt���dSr9)r@rA)rBr2�rCrErrrF^�zset_const.<locals>.dor)rErCrFrrHr�	set_const]srJcs�fdd�}|S)Ncs�tjdur	td��t|�}|�d�\}}}|sd}|}zt|�}Wnty,d}Ynwd|kr:dks?td��td���t_||ft_dS)Nz---listen and --connect are mutually exclusive�:z	127.0.0.1�����rizinvalid port number)rArrr?�	partitionr�	Exceptionr)rBr2rC�host�sep�port�rrrrFes$
  33  ��zset_address.<locals>.dor)rrFrrRr�set_addressdsrScCs�d}|�|�s	J�|t|�d�}t|�}|tjvr!td�|���ttj|�}z|tur7ddd�|�	�}n||�}Wnt
  34  yLtd�||j���w|tj|<dS)Nz--configure-zunknown property {0!r}TF)�true�falsez{0!r} must be a {1})�
  35  startswith�lenr?rArrr �type�bool�lowerrNr)rBr2�prefix�namerC�
  36  expected_typerrr�
  37  set_config|s 
  38  ��r^cCr8r9rr:rrrr<�r=F�kindcr)Ncs��t_��r|nt|��}t|t�rBz	|�t���}Wn&tyAz|�d�}Wnty>ddl	}|�|�
  39  d��}YnwYnw|t_dS)N�utf-8rF)rArr?�
  40  isinstance�bytes�decoder-�getfilesystemencoding�UnicodeDecodeError�locale�getpreferredencodingr
  41  )rBr2r
  42  rf�r_r$�
  43  positionalrrrF�s
  44  ���
  45  zset_target.<locals>.dor)r_r$rirFrrhr�
  46  set_target�srjz
  47  -(\?|h|-help)z
  48  -(V|-version)z--log-toz<path>rz--log-to-stderrrz--listenz	<address>�listenz	--connect�connectz--wait-for-clientrz--configure-.+z<value>z--adapter-access-tokenz<token>r�z
  49  <filename>r*)riz-mz<module>�module�-cz<code>�codez--pidz<pid>�pidccs>�ttj�dkrtjd}tjd=|Vttj�dksdSdS)N��)rWr-�argv)rCrrr�consume_argv�s�
  50  �ru�argsccs@�|tjurt�EdHdS|r|d}|d=|V|sdSdSr4)r-rtru)rvrCrrr�consume_args�s�
  51  �rwcCs�t�}t|�t|�tjdustjdkrtdt��tjdur$td��tjdur2tjdkr2td��tj	dkr>tj
  52  r>td��tj	dusEJ�tjdusLJ�dS)Nrmzmissing target: z(either --listen or --connect is requiredrlz)--adapter-access-token requires --connectrqz(--pid does not support --wait-for-client)�set�parse_args_from_command_line�parse_args_from_environmentrAr
  53  r�TARGETrrrrr��seenrrr�
  54  parse_args�s
  55  r~r}cCsttj|�dSr9)�parse_args_helperr-rtr|rrrry�rIry�seenFromCommandLinecCs4tj�d�}|s
  56  dS|��}t�}t|||d�dS)NZDEBUGPY_EXTRA_ARGVT)�os�environ�get�splitrxr)r�rvZargsList�seenFromEnvironmentrrrrz�srzr�c
  57  Cs@t|�}	zt|�}Wn
  58  tyYdSw|}|�d�sd}tD]\}}}	t�d|d|�r2nq!td|��|sE||vrEtd|��|rQ||vrQtd|��|rX||vrXq|r`|�|�n|�|�z|	||�Wn)ty�|dusyJ�td	�	||���t
  59  y�}
  60  z	td
  61  �	|||
  62  ���d}
  63  ~
  64  ww|s�tjdur�dSq)NT�-rmz^(z)$zunrecognized switch z"duplicate switch on command line: z#duplicate switch from environment: z{0}: missing {1}zinvalid {0} {1}: {2})
  65  rwr?�
  66  StopIterationrV�switches�re�matchr�addr rNrAr
  67  )rvr�r�ZisFromEnvironment�iteratorrBr1�pattern�placeholder�action�excrrrr�sH�
  68  �
  69  ���rcCs�|tjd<t�dtj�t�tj�tj	�
  70  dd�dkrNtjdkr,tjdur,t�
  71  tj�ntjdkr@tjdur@tjtjtjd�ntttj���tjrNt��dtj	d<dS)	Nrzsys.argv after patching: {0!r}ZDEBUGPY_RUNNINGrUrTrkrl)Zaccess_token)r-rtr	�debugr5�	configurerArr�r�r�rrrkrlr�AssertionError�reprr)�argv_0rrr�start_debugging5s
  72  r�cCsrtj}t|�|durtj�|�rtj�|�}tj�d|�nt	�
  73  d|�t	�d�t	�d|�t
  74  j|dd�dS)NrzNot a file: {0!r}�Pre-launch environment:zRunning file {0!r}�__main__)�run_name)rAr
  75  r�r��path�isfile�dirnamer-�insertr	r��describe_environment�info�runpy�run_path)r
  76  �dirrrr�run_fileMs
  77  r�cCs�tj�dtd��tjd}ztjdurdnttj�}|dur"|j}Wnt	y1t
  78  �d�Ynwt|�t
  79  �
  80  d�t
  81  �dtj�ztj}Wnty^t
  82  �d�tjtjdd�YdSw|tjdd	�dS)
  83  Nrrmz*Error determining module path for sys.argvr�zRunning module {0!r}zArunpy._run_module_as_main is missing, falling back to run_module.T)�	alter_sys)�
  84  alter_argv)r-r�r�rrtrAr
  85  r�originrNr	Zswallow_exceptionr�r�r�r��_run_module_as_main�AttributeError�warning�
  86  run_module)r��specZrun_module_as_mainrrrr�bs(
  87  ��
  88  
  89  
  90  �r�cCsrtjdur2tj�dtd��ttjtd�td��}ttd��t�	d�t�
  91  dtj�t|i�dSt�d�dS)	Nrrmz<string>�execror�zRunning code:
  92  
  93  {0}zNo target to run.)
  94  rAr
  95  r-r�r�r�compiler�r	r�r��eval�error)rprrr�run_code�s
  96  
  97  r�c	CsRtj}t�d|�dd�}tj�tjj	�}tj�
  98  |�sJ�||�}tjtjtj
  99  tjtjd�}|t�|��}d}|�dd��dd�j||d	�}t�d
 100  |�dd��hd
 101  �t|�@r\Jd��tj�tj�tj	�d�}tj�
 102  |�spJ�tj�|�zddl}t�d|�|j||dtt�dd��d�Wnty�t�d|�Ynwt�d|�dS)Nz!Attaching to process with PID={0}cSs|dur
 103  tt|�d���SdS)Nr`)�list�	bytearray�encode)r!rrrr<�szattach_to_pid.<locals>.<lambda>)rrrrra9
 104  import codecs;
 105  import json;
 106  import sys;
 107  
 108  decode = lambda s: codecs.utf_8_decode(bytearray(s))[0] if s is not None else None;
 109  
 110  script_dir = decode({script_dir});
 111  setup = json.loads(decode({setup}));
 112  
 113  sys.path.insert(0, script_dir);
 114  import attach_pid_injected;
 115  del sys.path[0];
 116  
 117  attach_pid_injected.attach(setup);
 118  �
 119  rm�
 120  )�
 121  script_dir�setupzCode to be injected: 
 122  {0}�;z;
 123  >r��'�"r�zOInjected code should not contain any single quotes, double quotes, or newlines.Zpydevd_attach_to_processrz,Injecting code into process with PID={0} ...TZ DEBUGPY_ATTACH_BY_PID_DEBUG_INFO�0)Zconnect_debugger_tracingZshow_debug_infoz#Code injection into PID={0} failed:z&Code injection into PID={0} completed.)rAr
 124  r	r�r�r�r�r5�server�__file__�existsrrrrr�json�dumps�replacer rx�joinrr-�append�add_code_to_python_processZrun_python_coder�getenvrN�reraise_exception)rqr�r�r�Zpython_codeZpydevd_attach_to_process_pathr�rrr�
 125  attach_to_pid�sT�
 126  �����
 127  ��r�c
 128  Csttj�}zt�Wn(ty2}zttt�td�t|�tjd�t�	d�WYd}~nd}~wwt
 129  jdur>t�t
 130  j�t
 131  j
 132  rGt�tj�t��t�td�|tj�zt
 133  jdurkttttd�t
 134  j}|�WdSWdSty�}ztjd|jdd�WYd}~dSd}~ww)	Nz
 135  Error: r)rrz=sys.argv before parsing: {0!r}
 136           after parsing:  {1!r})r*rnrprqz%Debuggee exited via SystemExit: {0!r}r�)�level)r�r-rtr~rNr+rr,r.r/rArr5rr
 137  Zensure_loggingr	r�rr�r�r�r��
 138  SystemExitr�rp)Z
 139  original_argvr��runrrr�main�sF
 140  
 141  "��
 142  �
 143  ������r�)7r�r�r�r-�importlib.utilr�typingrrrr�modulesrZ_pydevd_bundlerr�r5Zdebugpy.serverZdebugpy.commonr	r
 144  r{r r6r,�objectrrArr(rrqr3r7rGrJrSr^rrjr�rur�rwr~rxryrzrr�r�r�r�r�r�rrrr�<module>s�
 145  ������
 146  �7!E