Your IP : 3.146.65.134


Current Path : /opt/alt/python312/lib64/python3.12/__pycache__/
Upload File :
Current File : //opt/alt/python312/lib64/python3.12/__pycache__/compileall.cpython-312.pyc

�

�Q�fP����dZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZgd�Zdd�Z
			dddddd�d	�Z			dddddd�d
�Z			dd�Zd�Zed
k(r!ee��Zej*e�yy)a�Module/script to byte-compile all .py files to .pyc files.

When called as a script with arguments, this compiles the directories
given as arguments recursively; the -l option prevents it from
recursing into directories.

Without arguments, it compiles all modules on sys.path, without
recursing into subdirectories.  (Even though it should do so for
packages -- for now, you'll have to deal with packages separately.)

See module py_compile for details of the actual byte-compilation.
�N)�partial)�Path)�compile_dir�compile_file�compile_pathc#�K�|dkr/t|tj�rtj|�}|st	dj|��	tj|�}|j�|D]�}|dk(r�	tjj||�}tjj|�s|���M|dkDs�S|tjk7s�g|tjk7s�{tjj|�s��tjj|�r��t||dz
|��Ed{�����y#t$r%|dkrt	dj|��g}Y��wxYw7�8�w)N�zListing {!r}...zCan't list {!r}�__pycache__r�)�	maxlevels�quiet)�
isinstance�os�PathLike�fspath�print�format�listdir�OSError�sort�path�join�isdir�curdir�pardir�islink�	_walk_dir)�dirrr
�names�name�fullnames      �1/opt/alt/python312/lib64/python3.12/compileall.pyrrs(�����q�y�Z��R�[�[�1��i�i��n���
��&�&�s�+�,���
�
�3���

�J�J�L����=� ���7�7�<�<��T�*���w�w�}�}�X�&��N��!�m���	�	� 1�d�b�i�i�6G��g�g�m�m�H�%�b�g�g�n�n�X�.F� ��Y��]�',�.�
.�
.������1�9��#�*�*�3�/�0�����
.�sU�AF�E�)A$F�F�"F�6F�F�6F�
F�F�*F�<F�?F�FF��stripdir�
prependdir�
limit_sl_dest�hardlink_dupesc
�b�d}|�|
�|�td��|�|}
|}d}|dkrtd��|dk7rddlm}	|�ddlm}|�t
j�}t|||��}d	}|dk7r�|�~ddl	}|j�d
k(r|jd�}nd}|xsd}|||��5}|jtt|||||||	|
|||
�
�|�}t|d	��}ddd�|S|D]}t||||||||	|
|||
��r�d}�|S#t
$rd}Y��wxYw#1swY|SxYw)a�Byte-compile all modules in the given directory tree.

    Arguments (only dir is required):

    dir:       the directory to byte-compile
    maxlevels: maximum recursion level (default `sys.getrecursionlimit()`)
    ddir:      the directory that will be prepended to the path to the
               file as it is compiled into each byte-code file.
    force:     if True, force compilation, even if timestamps are up-to-date
    quiet:     full output with False or 0, errors only with 1,
               no output with 2
    legacy:    if True, produce legacy pyc paths instead of PEP 3147 paths
    optimize:  int or list of optimization levels or -1 for level of
               the interpreter. Multiple levels leads to multiple compiled
               files each with one optimization level.
    workers:   maximum number of parallel workers
    invalidation_mode: how the up-to-dateness of the pyc will be checked
    stripdir:  part of path to left-strip from source file path
    prependdir: path to prepend to beginning of original file path, applied
               after stripdir
    limit_sl_dest: ignore symlinks if they are pointing outside of
                   the defined path
    hardlink_dupes: hardlink duplicated pyc files
    N�PDestination dir (ddir) cannot be used in combination with stripdir or prependdirrz%workers must be greater or equal to 0r)�_check_system_limits)�ProcessPoolExecutor)r
rT�fork�
forkserver)�max_workers�
mp_context)�ddir�force�rxr
�legacy�optimize�invalidation_moder$r%r&r')�defaultr#F)�
ValueError�concurrent.futures.processr*�concurrent.futuresr+�NotImplementedError�sys�getrecursionlimitr�multiprocessing�get_start_method�get_context�maprr�min)rrr0r1r2r
r3r4�workersr5r$r%r&r'r+r*�files�successr=r/�executor�results�files                       r"rr0s���8����X�1�Z�5K��G�I�	I������
�����{��@�A�A��!�|�C�	?� �"�
?����)�)�+�	��c��)�<�E��G��!�|�+�7���+�+�-��7�(�4�4�\�B�J��J��/�T��
 �W�,6�8�;C��l�l�7�<�04�E�.0��28�4<�=N�4<�6@�9F�:H�	$J�$)�
*�G��'�4�0�G�8�,�N��D���d�E�2�u� &��2C�)1�j�.;�/=�	?�
 ��
��N��M#�	��G�	�� 8�,�N�s�D�-9D$�D!� D!�$D.c	��
�|�|�|	�td��d}tj|�}|�tj|�nd}tjj	|�}
d}|� tjj||
�}|��|j
tjj�}|j
tjj�}t|�}t||�D]\}}||k(s�|j|��tjj
|�}|	�C|�!tjj|	|�}n tjj|	|�}t|t�r|g}tt|��}|rt|�dkrtd��|�|j!|�}|r|S|
�]tjj#|�r>t%|
�j'�t%|�j'�j(vr|Si}tjj+|��r�|D]f}|r	|dz||<�|dk\r0|dk\r|nd	}t,j.j1||�
�}|||<�Ct,j.j1|�}|||<�h|
dd|
dd}}|dk(�rU|s�	ttj2|�j4�}t7j8d
t,j.j:d|dz�}|j=�D]/}t?|d�5}|jAd�}ddd�|k7s�/n|S	|stEdjG|��	tI|�D]}\}}||}tKjL|||d||��} |dkDs�,|s�/|||dz
}!tOjP||!d��s�StjR|�tjT|!|��	 dk(rd}|S|S#1swY��xYw#tB$rY��wxYw#tJjV$r�}"d}|dk\r|cYd}"~"S|rtEdjG|��n
tEdd	��tXjZj\xstYj^�}#|"j`jc|#d��je|#�}$tE|$�Yd}"~"|Sd}"~"wtfthtBf$rf}%d}|dk\r|cYd}%~%S|rtEdjG|��n
tEdd	��tE|%jjjldz|%�Yd}%~%|Sd}%~%wwxYw)aByte-compile one file.

    Arguments (only fullname is required):

    fullname:  the file to byte-compile
    ddir:      if given, the directory name compiled in to the
               byte-code file.
    force:     if True, force compilation, even if timestamps are up-to-date
    quiet:     full output with False or 0, errors only with 1,
               no output with 2
    legacy:    if True, produce legacy pyc paths instead of PEP 3147 paths
    optimize:  int or list of optimization levels or -1 for level of
               the interpreter. Multiple levels leads to multiple compiled
               files each with one optimization level.
    invalidation_mode: how the up-to-dateness of the pyc will be checked
    stripdir:  part of path to left-strip from source file path
    prependdir: path to prepend to beginning of original file path, applied
               after stripdir
    limit_sl_dest: ignore symlinks if they are pointing outside of
                   the defined path.
    hardlink_dupes: hardlink duplicated pyc files
    Nr)Tr	zXHardlinking of duplicated bytecode makes sense only for more than one optimization level�crr�)�optimization���z.pyz<4sLLl���rb�zCompiling {!r}...)r4r5F)�shallowz*** Error compiling {!r}...z*** )�end�backslashreplace)�errors�:)7r7rrr�basenamer�split�sep�list�zip�remover�int�sorted�set�len�searchrr�resolve�parents�isfile�	importlib�util�cache_from_source�stat�st_mtime�struct�pack�MAGIC_NUMBER�values�open�readrrr�	enumerate�
py_compile�compile�filecmp�cmp�unlink�link�PyCompileErrorr;�stdout�encoding�getdefaultencoding�msg�encode�decode�SyntaxError�UnicodeError�	__class__�__name__)&r!r0r1r2r
r3r4r5r$r%r&r'rDr �dfile�fullname_parts�stripdir_parts�
ddir_parts�spart�opart�mo�
opt_cfiles�	opt_level�opt�cfile�head�tail�mtime�expect�chandle�actual�index�ok�previous_cfile�errrvrx�es&                                      r"rr�s���6��X�1�Z�5K��G�I�	I��G��y�y��"�H�&.�&:�r�y�y��"��H�
�7�7���H�%�D��E��������T�4�(����!��������4��!��������4���.�)�
����?�L�E�5���~��!�!�%�(�@������j�)�����=��G�G�L�L��X�6�E��G�G�L�L��U�3�E��(�C� ��:���c�(�m�$�H��#�h�-�!�+��F�G�	G�
�~�
�Y�Y�x�
 ��
��N�� �R�W�W�^�^�H�%=��
��&�&�(��X��0F�0F�0H�0P�0P�P��N��J�	�w�w�~�~�h��!�I��(0�3��
�9�%���>�'0�A�~�)�2�C�&�^�^�=�=�%�C�>�9�E�,1�J�y�)�%�N�N�<�<�X�F�E�,1�J�y�)�"��#�2�Y��R�S�	�d���5�=�������� 1� :� :�;�E�#�[�[��)�.�.�2M�2M�)*�E�K�,?�A�F�!+�!2�!2�!4��!�%��.�'�%,�\�\�"�%5�F�/�!�V�+�!�	"5� '��"�
��)�0�0��:�;�"
$�(1�(�(;�$�E�9�&�y�1�E�#�+�+�H�e�U�D�5>�>O�Q�B��q�y�^�)3�H�U�Q�Y�4G�)H��"�;�;�u�n�e�L��I�I�e�,��G�G�N�E�:�)<�@��7�#�G��N�7�N�[/�.��������,�,�
����A�:�"�N���7�>�>�x�H�I��&�b�)��:�:�.�.�J�#�2H�2H�2J���g�g�n�n�X�6H�n�I�P�P�QY�Z���c�
�
��N�� ��w�7�
5����A�:�"�N���7�>�>�x�H�I��&�b�)��a�k�k�*�*�S�0�!�4�4��N��
5�s��A:P(�P�
P(�"P(�6P7�<P7�?#P7�#-P7�P%	�!P(�(	P4�3P4�7U,�
S/�U,�BS/�/U,�U'�U,�A
U'�'U,c��d}tjD]B}|r|tjk(r|r|dks� t	d��,|xrt||d|||||��}�D|S)a�Byte-compile all module on sys.path.

    Arguments (all optional):

    skip_curdir: if true, skip current directory (default True)
    maxlevels:   max recursion level (default 0)
    force: as for compile_dir() (default False)
    quiet: as for compile_dir() (default 0)
    legacy: as for compile_dir() (default False)
    optimize: as for compile_dir() (default -1)
    invalidation_mode: as for compiler_dir()
    Tr	zSkipping current directoryN)r
r3r4r5)r;rrrrr)	�skip_curdirrr1r
r3r4r5rDrs	         r"rrsg���G��x�x���s�b�i�i�'�[��q�y��2�3��	�+�������!�"3�	#�G���N�c��
�ddl}|jd��}|jdddddd�	�|jd
tdd�
�|jdddd��|jddddd��|jdddd��|jddddd��|jd d!d"dd#��|jd$d%d&dd'��|jd(d)d*dd+��|jd,d-d.d/�0�|jd1d2d3d4�5�|jd6d7d8td9�:�tj
D�cgc],}|jj�jd;d<���.}}|jd=t|�d>�?�|jd@dAtdBdC�D�|jdEdFdGdH�0�|jdIddJdK��|j�}|j}|jr$ddl
}|j|j�|_|jdLk(rd|_|j �
|j }n|j"}|j$�dMg|_t'|j$�d8k(r|j(r|j+dN�|j,�)|j.�|j0�|j+dO�|j2rg	|j2d<k(rt4j6nt9|j2dP�Q�5}|D]!}	|j;|	j=���#	ddd�|jFr>|jFjd<d;�jI�}
tj
|
}nd}dU}	|�r4|D�],}
tJjLjO|
�rtQ|
|j,|jR|j|j@|jT||j.|j0|j$|j|j(�V�r��dT}��tW|
||j,|jR|j|j@|jT|jX||j.|j0|j$|j|j(�W�r��+dT}��/|St[|jT|jR|j@|�X�Scc}w#1swY���xYw#t>$r6|j@dRkr$tCdSjE|j2��YyTwxYw#t\$r|j@dRkrtCdY�YyTwxYw)ZzScript main program.rNz1Utilities to support installing Python libraries.)�descriptionz-l�store_constrz!don't recurse into subdirectories)�action�constr6�dest�helpz-r�	recursionzhcontrol the maximum recursion level. if `-l` and `-r` options are specified, then `-r` takes precedence.)�typer�r�z-f�
store_truer1z/force rebuild even if timestamps are up to date)r�r�r�z-q�countr
zIoutput only error messages; -qq will suppress the error messages as well.)r�r�r6r�z-br3z0use legacy (pre-PEP3147) compiled file locationsz-d�DESTDIRr0z�directory to prepend to file paths for use in compile-time tracebacks and in runtime tracebacks in cases where the source file is unavailable)�metavarr�r6r�z-s�STRIPDIRr$z�part of path to left-strip from path to source file - for example buildroot. `-d` and `-s` options cannot be specified together.z-p�
PREPENDDIRr%z�path to add as prefix to path to source file - for example / to make it absolute when some part is removed by `-s` option. `-d` and `-p` options cannot be specified together.z-x�REGEXPr2zskip files matching the regular expression; the regexp is searched for in the full path of each file considered for compilationz-i�FILE�flistzzadd all the files and directories listed in FILE to the list considered for compilation; if "-", names are read from stdin)r�r�r��compile_destzFILE|DIR�*zrzero or more file and directory names to compile; if no arguments given, defaults to the equivalent of -l sys.path)r��nargsr�z-jz	--workersrzRun compileall concurrently)r6r�r��_�-z--invalidation-modez�set .pyc invalidation mode; defaults to "checked-hash" if the SOURCE_DATE_EPOCH environment variable is set, and "timestamp" otherwise.)�choicesr�z-o�append�
opt_levelsz�Optimization levels to run compilation with. Default is -1 which uses the optimization level of the Python interpreter itself (see -O).)r�r�r�r�z-e�DIRr&z+Ignore symlinks pointing outsite of the DIRz--hardlink-dupesr'zHardlink duplicated pyc filesrJ���zYHardlinking of duplicated bytecode makes sense only for more than one optimization level.z.-d cannot be used in combination with -s or -pzutf-8)rvr	zError reading file list {}FT)r5r$r%r4r&r')rBr5r$r%r4r&r')r3r1r
r5z
[interrupted])/�argparse�ArgumentParser�add_argumentrZrn�PycInvalidationModer �lower�replacer[�
parse_argsr�r2�reror&r�rr�r]r'�errorr0r$r%r�r;�stdinrkr��striprr
rrr5�upperrrrarr1r3rrBr�KeyboardInterrupt)r��parser�mode�invalidation_modes�args�
compile_destsr�r�f�line�ivl_moder5rDr�s              r"�mainr�:si���
�
$�
$�G�%�I�F�
����]�!� $�;�@��B�����3�[�<��>�����\��N��P�
����W�7�A�;��<�����\��O��Q�
����i�v�t�,��.�
����j�
� $�4��6�����l�,� $�4��6�����h�T�4�H��J�����f�7�B��D�����
�#�A��C�����k�1� �'D��F�'1�&D�&D�F�&D�d��)�)�/�/�+�3�3�C��=�&D��F�
���-� &�'9� :�7��9�����X�C�l�K��M�����e�/�J��L�
���*�<�-�<��>�����D��%�%�M��w�w���*�*�T�W�W�%������R��!����~�~�!��N�N�	��N�N�	������$���
�4�?�?��q� �T�%8�%8����C�	E��y�y���
�
�!�T�_�_�%@����E�F��z�z�	�#�z�z�3��#�)�)�����g�6�7�;<��D�!�(�(�����6��7�����)�)�1�1�#�s�;�A�A�C��&�:�:�8�D�� ���G� ��%���7�7�>�>�$�'�'��d�i�i����T�W�W�(,�
�
�D�K�K�:K�15���37�?�?�15���6:�6H�6H�7;�7J�7J�L�#(��&�t�Y��	�	�'+�z�z�4�7�7�D�J�J�'+�{�{�D�L�L�9J�04�
�
�26�/�/�04���59�5G�5G�6:�6I�6I�K�#(��+&�,�N��t�{�{�$�*�*�&*�j�j�2C�E�
E��uF�`7�7���	��z�z�A�~��2�9�9�$�*�*�E�F��	��R���:�:��>��#�$���sV�51S4�6T�'S9�9T�B#U�4B
U�U�,U�9T�>T�<U�U�#U.�-U.�__main__)r)	NNFNrFr�rN)NFNrFr�N)rrFrFr�N)�__doc__rr;�importlib.utilrbrnrgrp�	functoolsr�pathlibr�__all__rrrrr�r~rZ�exit_status�exit�r�r"�<module>r�s����
�
���
����
7��.�.7<�EF�"&�Q�48��t�E�Q�fCD�(*�#'�S�59�d�#�E�S�jAB�(*�#'��DV�r�z���$�&�j�/�K��C�H�H�[��r�

?>