HEX
Server: LiteSpeed
System: Linux shams.tasjeel.ae 5.14.0-611.5.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 11 08:09:09 EST 2025 x86_64
User: infowars (1469)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //usr/lib/python3.9/site-packages/argcomplete/__pycache__/completers.cpython-39.opt-1.pyc
a

�]a�@s�ddlmZmZmZmZddlZddlZddlmZm	Z	dd�Z
Gdd�de�Zeej
�ZGd	d
�d
e�ZGdd�de�ZGd
d�de�ZGdd�de�ZdS)�)�absolute_import�division�print_function�unicode_literalsN�)�str�sys_encodingcOs:ztj|i|���t���WStjy4gYS0dS�N)�
subprocessZcheck_output�decoder�
splitlinesZCalledProcessError)�args�kwargs�r�:/usr/lib/python3.9/site-packages/argcomplete/completers.py�_call
src@s$eZdZdd�Zdd�Zdd�ZdS)�ChoicesCompletercCs
||_dSr	��choices)�selfrrrr�__init__szChoicesCompleter.__init__cCs*t|t�r|�t�}t|t�s&t|�}|Sr	)�
isinstance�bytesrrr)r�choicerrr�_converts



zChoicesCompleter._convertcs�fdd��jD�S)Nc3s|]}��|�VqdSr	)r)�.0�c�rrr�	<genexpr>�z,ChoicesCompleter.__call__.<locals>.<genexpr>r)rrrrr�__call__szChoicesCompleter.__call__N)�__name__�
__module__�__qualname__rrr rrrrrsrc@s"eZdZdZd	dd�Zdd�ZdS)
�FilesCompleterzM
    File completer class, optionally takes a list of allowed extensions
    rTcCs.t|ttf�r|g}dd�|D�|_||_dS)NcSsg|]}|�d��d��qS)�*�.)�lstrip)r�xrrr�
<listcomp>*rz+FilesCompleter.__init__.<locals>.<listcomp>)rrr�allowednames�directories)rr*r+rrrr%szFilesCompleter.__init__c	Ks�g}|jrb|jr8tdddj|d�g�}|dd�|D�7}|jD] }|tdddj||d�g�7}q>n\|tdddj|d�g�7}tdddj|d�g�}tt|�t|��}|jr�|d	d�|D�7}|S)
NZbashz-czcompgen -A directory -- '{p}')�pcSsg|]}|d�qS��/r�r�frrrr)2rz+FilesCompleter.__call__.<locals>.<listcomp>z$compgen -A file -X '!*.{0}' -- '{p}'zcompgen -A file -- '{p}'cSsg|]}|d�qSr-rr/rrrr);r)r*r+r�format�list�set)r�prefixrZ
completion�filesr(Zanticomprrrr -s
 zFilesCompleter.__call__N)rT)r!r"r#�__doc__rr rrrrr$ s
r$c@seZdZdd�Zdd�ZdS)�_FilteredFilesCompletercCs
||_dS)z�
        Create the completer

        A predicate accepts as its only argument a candidate path and either
        accepts it or rejects it.
        N��	predicate)rr9rrrr?sz _FilteredFilesCompleter.__init__cks�tj�|�}zt�|pd�}WnYdS0tj�|�}|D]D}|�|�sNq>tj�||�}|�|�shq>tj�|�r||dn|Vq>dS)z/
        Provide completions on prefix
        r&Nr.)	�os�path�dirname�listdir�basename�
startswith�joinr9�isdir)rr4rZ
target_dir�namesZincomplete_part�name�	candidaterrrr Is

z _FilteredFilesCompleter.__call__N)r!r"r#rr rrrrr7>s
r7c@seZdZdd�ZdS)�DirectoriesCompletercCstj|tjjd�dS)Nr8)r7rr:r;rArrrrr]szDirectoriesCompleter.__init__N)r!r"r#rrrrrrE\srEc@s eZdZdZdd�Zdd�ZdS)�SuppressCompleterzK
    A completer used to suppress the completion of specific arguments
    cCsdSr	rrrrrreszSuppressCompleter.__init__cCsdS)z?
        Decide if the completion should be suppressed
        Trrrrr�suppresshszSuppressCompleter.suppressN)r!r"r#r6rrGrrrrrF`srF)Z
__future__rrrrr:r
�compatrrr�objectr�environZEnvironCompleterr$r7rErFrrrr�<module>s