관리-도구
편집 파일: scripts.cpython-38.opt-1.pyc
U ��.e�? � @ s� d dl mZ d dlZd dlZd dlZd dlZd dlZddlmZm Z m Z ddlmZ ddl mZmZmZmZmZ e�e�Zd�� Ze�d�Zd Zd d� ZG dd � d e�ZdS )� )�BytesION� )� sysconfig�detect_encoding�ZipFile)�finder)�FileOperator�get_export_entry�convert_path�get_executable�in_venva� <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="%s" type="win32"/> <!-- Identify the application security requirements. --> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="asInvoker" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo> </assembly>s ^#!.*pythonw?[0-9.]*([ ].*)?$z�# -*- coding: utf-8 -*- import re import sys from %(module)s import %(import_name)s if __name__ == '__main__': sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) sys.exit(%(func)s()) c C sX d| krT| � d�rB| �dd�\}}d|krT|� d�sTd||f } n| � d�sTd| } | S )N� z /usr/bin/env r �"z%s "%s"z"%s")� startswith�split)� executable�envZ_executable� r �?/usr/lib/python3.8/site-packages/pip/_vendor/distlib/scripts.py�_enquote_executable3 s r c @ s� e Zd ZdZeZdZd'dd�Zdd� Ze j �d �rBd d� Zdd � Z dd� Zd(dd�Zdd� ZeZdd� Zdd� Zd)dd�Zdd� Zedd� �Zejdd� �Zejd ks�ejd kr�ejd kr�d!d"� Zd*d#d$�Zd+d%d&�ZdS ),�ScriptMakerz_ A class to copy or create scripts from source scripts or callable specifications. NTFc C sz || _ || _|| _d| _d| _tjdkp:tjdko:tjdk| _t d�| _ |pRt|�| _tjdkprtjdkortjdk| _ d S )NF�posix�java)� �X.Y�nt)� source_dir� target_dir� add_launchers�force�clobber�os�name�_name�set_mode�set�variantsr �_fileop�_is_nt)�selfr r r �dry_runZfileopr r r �__init__L s � �zScriptMaker.__init__c C s@ |� dd�r<| jr<tj�|�\}}|�dd�}tj�||�}|S )N�guiF�pythonZpythonw)�getr( r! �pathr �replace�join)r) r �optionsZdn�fnr r r �_get_alternate_executable\ s z%ScriptMaker._get_alternate_executabler c C s\ z0t |��}|�d�dkW 5 Q R � W S Q R X W n& ttfk rV t�d|� Y dS X dS )zl Determine if the specified executable is a script (contains a #! line) � z#!zFailed to open %sFN)�open�read�OSError�IOError�logger�warning)r) r �fpr r r � _is_shelld s &zScriptMaker._is_shellc C sD | � |�r*dd l}|jj�d�dkr<|S n|�� �d�r<|S d| S )Nr zos.nameZLinuxz jython.exez/usr/bin/env %s)r= r ZlangZSystemZgetProperty�lower�endswith)r) r r r r r �_fix_jython_executablep s z"ScriptMaker._fix_jython_executablec C s� t jdkrd}n8t|�t|� d }tjdkr4d}nd}d|koF||k}|r^d| | d }n d }|d| | d 7 }|d 7 }|S )a Build a shebang line. In the simple case (on Windows, or a shebang line which is not too long or contains spaces) use a simple formulation for the shebang. Otherwise, use /bin/sh as the executable, with a contrived shebang which allows the script to run either under Python or sh, using suitable quoting. Thanks to Harald Nordgren for his input. See also: http://www.in-ulm.de/~mascheck/various/shebang/#length https://hg.mozilla.org/mozilla-central/file/tip/mach r T� �darwini � � s #!� s #!/bin/sh s '''exec' s "$0" "$@" s ' ''')r! r"