%PDF- %PDF-
Direktori : /usr/lib/python3/dist-packages/pexpect/__pycache__/ |
Current File : //usr/lib/python3/dist-packages/pexpect/__pycache__/utils.cpython-312.pyc |
� ��e� � � � d dl Z d dlZd dlZd dlZd dlZd dlZ e ej d dk\ re fZnee fZd� Z dd�Zd� Zdd�Zdd�Zy# e$ r ej ZY �@w xY w) � N� c �� � t j j | � }t j j |� syt j |� j }t j j d� rUt j � dk( r>t |t j t j z t j z z � S t j |t j � S )z�Checks that path is an executable regular file, or a symlink towards one. This is roughly ``os.path isfile(path) and os.access(path, os.X_OK)``. F�sunosr )�os�path�realpath�isfile�stat�st_mode�sys�platform� startswith�getuid�bool�S_IXUSR�S_IXGRP�S_IXOTH�access�X_OK)r �fpath�modes �//usr/lib/python3/dist-packages/pexpect/utils.py�is_executable_filer s� � � �G�G���T�"�E� �7�7�>�>�%� �� �7�7�5�>�!�!�D�������(�� � ��q� � �D�D�L�L� �L�L�)� �L�L�)� *� +� +� �9�9�U�B�G�G�$�$� c �v � t j j | � dk7 r t | � r| S |�t j }|j d� }|st j }|j t j � }|D ]1 }t j j || � }t |� s�/|c S y)z�This takes a given filename; tries to find it in the environment path; then checks if it is executable. This returns the full path to the filename if found and executable. Otherwise this returns None.� N�PATH) r r �dirnamer �environ�get�defpath�split�pathsep�join)�filename�env�p�pathlistr �ffs r �whichr* 0 s� � � �w�w���x� �B�&�+=�h�+G��� �{��j�j�������A���J�J���w�w�r�z�z�"�H�� �� �W�W�\�\�$�� )���b�!��I�� r c �r � g }d}d}d}d}d}d}|}| D ]� } ||k( s||k( rL| dk( r|}�| dk( r|}�| d k( r|}�%| j � r||k( r�;|j |� d}|}�Q|| z }|}�Y||k( r|| z }|}�f||k( r| dk( r|}�s|| z }�y||k( s�| d k( r|}��|| z }�� |dk7 r|j |� |S ) a This splits a command line into a list of arguments. It splits arguments on spaces, but handles embedded quotes, doublequotes, and escaped characters. It's impossible to do this with a regular expression, so I wrote a little state machine to parse the command line. r r � � r � �\�'�")�isspace�append) �command_line�arg_list�arg�state_basic� state_esc�state_singlequote�state_doublequote�state_whitespace�state�cs r �split_command_liner>