
    OJni                     r    d dl mZ d dlZd dlZd dlmZmZmZ d dlZ G d de      Z	d Z
dek(  r e
        yy)    )unicode_literalsN)ArgumentParserActionSUPPRESSc                   .     e Zd Zeedf fd	ZddZ xZS )PrintRuntimesNc                 6    t         t        |   |||d|       y )Nr   )option_stringsdestdefaultnargshelp)superr   __init__)selfr
   r   r   r   	__class__s        @/home/uftp/myenv/lib/python3.12/site-packages/execjs/__main__.pyr   zPrintRuntimes.__init__   s&    mT+) 	, 	
    c                     dj                  d t        j                         j                         D              }|j	                  |       y )N c              3   N   K   | ]  \  }}|j                         s|d z     yw)
N)is_available).0nameruntimes      r   	<genexpr>z)PrintRuntimes.__call__.<locals>.<genexpr>   s$     o-$X_XlXlXn$+os   %
%)message)joinexecjsruntimesitemsexit)r   parser	namespacevaluesoption_stringr   s         r   __call__zPrintRuntimes.__call__   s4    ''o6??;L;R;R;TooG$r   )N)__name__
__module____qualname__r   r   r(   __classcell__)r   s   @r   r   r      s    ,4hT 
%r   r   c                     t               } | j                  dt               | j                  dddd       | j                  dd	dd
       | j                  dddd       | j                  ddd       | j                         }t	        j
                  |j                        }g }|j                  D ]K  }t        j                  ||j                        5 }|j                  |j                                d d d        M |j                  dj                  |            }|j                  r|t!        |j                  t"              r|j                  j%                         }n|j                  }t&        j(                  j+                  t-        |j/                  |            dz          y |j/                  t&        j0                  j                               }t&        j(                  j+                  t-        |      dz          y # 1 sw Y   YxY w)Nz--print-available-runtimes)actionz-rz	--runtimestorer   )r.   r   z-ez--evalexprz
--encodingfiles_encodingutf8)r.   r   r   *files)r   r.   r   )encodingr   )r   add_argumentr   
parse_argsr    getr   r4   ioopenr1   appendreadcompiler   r0   
isinstancebytesdecodesysstdoutwritereprevalstdin)	r$   optsr   codesffpcontextr0   rets	            r   mainrM      s   F
4]K
k'	J
hwVD
W;KU[\
c'@Djj&GEZZ $WWQ!4!45 	$LL#	$ 	$$ oodii./Gyydii'99##%D99D

gll401D89ll399>>+,

cT)*	$ 	$s    HH	__main__)
__future__r   rA   r9   argparser   r   r   r    r   rM   r)    r   r   <module>rR      s>    ( 
 	 5 5 %F %+8 F r   