OwlCyberSecurity - MANAGER
Edit File: __init__.cpython-312.pyc
� ������hl*�����������������������������d�Z�ddlZddlZddlZddlZddlZddlZddlZddlm Z �dgZ d��Zd��Ze j������������������Z �d��Z�G�d ��d �������Z�G�d��deej$�������������������������Z�G�d ��de�������Zdd�Z�G�d��d�������Zy)z� A Path-like interface for zipfiles. This codebase is shared between zipfile.Path in the stdlib and zipp in PyPI. See https://github.com/python/importlib_metadata/wiki/Development-Methodology for more detail. �����N����)� translate�Pathc������������������B�����t��������j������������������t��������|��������dd�������S�)a2�� Given a path with elements separated by posixpath.sep, generate all parents of that path. >>> list(_parents('b/d')) ['b'] >>> list(_parents('/b/d/')) ['/b'] >>> list(_parents('b/d/f/')) ['b/d', 'b'] >>> list(_parents('b')) [] >>> list(_parents('')) [] r���N)� itertools�islice� _ancestry)�paths��� �=/opt/alt/python312/lib64/python3.12/zipfile/_path/__init__.py�_parentsr������s������ ����I�d�O�Q��5�5�����c��������������#������K����|�j������������������t��������j�������������������������}�|�j������������������t��������j�������������������������r=|����t��������j������������������|��������\��}�}|�j������������������t��������j�������������������������r�<yy�w)a��� Given a path with elements separated by posixpath.sep, generate all elements of that path. >>> list(_ancestry('b/d')) ['b/d', 'b'] >>> list(_ancestry('/b/d/')) ['/b/d', '/b'] >>> list(_ancestry('b/d/f/')) ['b/d/f', 'b/d', 'b'] >>> list(_ancestry('b')) ['b'] >>> list(_ancestry('')) [] Multiple separators are treated like a single. >>> list(_ancestry('//b//d///f//')) ['//b//d///f', '//b//d', '//b'] N)�rstrip� posixpath�sep�split)r ����tails��� r���r ���r ���+���sS���������*��;�;�y�}�}�%�D� �+�+�i�m�m� $�� ��_�_�T�*� ��d���+�+�i�m�m� $�s����A:A?�=A?c������������������T�����t��������j������������������t��������|�������j������������������|��������S�)zZ Return items in minuend not in subtrahend, retaining order with O(1) lookup. )r����filterfalse�set�__contains__)�minuend� subtrahends��� r����_differencer���J���s!������ �� � ��Z��!=�!=�w�G�Gr ���c��������������������2�������e�Zd�ZdZ��fd�Zd��Z��fd�Z��xZS�)�InitializedStatez? Mix-in to save the initialization state for pickling. c������������������@������||�_���������||�_��������t���������|����|i�|���y��N)�_InitializedState__args�_InitializedState__kwargs�super�__init__)�self�args�kwargs� __class__s��� �r���r"���zInitializedState.__init__W���s#������������ � ���$�)�&�)r ���c������������������2�����|�j�������������������|�j������������������fS�r���)r���r ����r#���s��� r����__getstate__zInitializedState.__getstate__\���s�������{�{�D�M�M�)�)r ���c������������������.������|\��}}t���������|����|i�|���y�r���)r!���r"���)r#����stater$���r%���r&���s��� �r����__setstate__zInitializedState.__setstate___���s����������f� ���$�)�&�)r ���)�__name__� __module__�__qualname__�__doc__r"���r)���r,���� __classcell__�r&���s���@r���r���r���R���s��������*� *�*��*r ���r���c��������������������X�������e�Zd�ZdZed����������Z��fd�Zd��Zd��Z��fd�Z e d����������Z��xZS�)�CompleteDirsa8�� A ZipFile subclass that ensures that implied directories are always included in the namelist. >>> list(CompleteDirs._implied_dirs(['foo/bar.txt', 'foo/bar/baz.txt'])) ['foo/', 'foo/bar/'] >>> list(CompleteDirs._implied_dirs(['foo/bar.txt', 'foo/bar/baz.txt', 'foo/bar/'])) ['foo/'] c�����������������������t���������j������������������j������������������t��������t��������|���������������}d��|D���������}t��������t ��������||���������������S�)Nc��������������3����B���K����|�]��}|t���������j������������������z��������y��wr���)r���r���)�.0�ps��� r���� <genexpr>z-CompleteDirs._implied_dirs.<locals>.<genexpr>r���s���������6�g��1�y�}�}�$�g�s����)r����chain� from_iterable�mapr����_deduper���)�names�parents�as_dirss��� r���� _implied_dirszCompleteDirs._implied_dirso���s9�������/�/�/�/��H�e�0D�E��6�g�6���{�7�E�2�3�3r ���c������������������Z������t����������|������������}|t��������|�j������������������|��������������z���S�r���)r!����namelist�listrA���)r#���r>���r&���s��� �r���rC���zCompleteDirs.namelistu���s+��������� �"���t�D�.�.�u�5�6�6�6r ���c������������������4�����t��������|�j���������������������������������S�r���)r���rC���r(���s��� r���� _name_setzCompleteDirs._name_sety���s�������4�=�=�?�#�#r ���c������������������L�����|�j��������������������������}|dz���}||vxr�||v�}|r|S�|S�)zx If the name represents a directory, return that name as a directory (with the trailing slash). �/)rF���)r#����namer>����dirname� dir_matchs��� r����resolve_dirzCompleteDirs.resolve_dir|���s:������ ���� ����*����%�:�'�U�*:� �#�w�-��-r ���c������������������������ �t����������|����|�������S�#�t��������$�r=�|j������������������d�������r||�j ��������������������������vr��t��������j������������������|��������cY�S�w�xY�w)z6 Supplement getinfo for implied dirs. rH���)�filename)r!����getinfo�KeyError�endswithrF����zipfile�ZipInfo)r#���rI���r&���s��� �r���rO���zCompleteDirs.getinfo����sR������� 2��7�?�4�(�(���� 2��=�=��%��T�^�^�5E�)E���?�?�D�1�1� 2�s������AA�Ac�����������������������t��������|t���������������r|S�t��������|t��������j�������������������������s�|�|�������S�d|j������������������vrt��������}�|�|_��������|S�)zl Given a source (filename or zipfile), return an appropriate CompleteDirs subclass. �r)� isinstancer4���rR����ZipFile�moder&���)�cls�sources��� r����makezCompleteDirs.make����sK��������f�l�+��M��&�'�/�/�2��v�;����f�k�k�!��C����� r ���) r-���r.���r/���r0����staticmethodrA���rC���rF���rL���rO����classmethodr[���r1���r2���s���@r���r4���r4���d���sD����������4���4� 7�$�.� 2������r ���r4���c��������������������,�������e�Zd�ZdZ��fd�Z��fd�Z��xZS�)� FastLookupzV ZipFile subclass to ensure implicit dirs exist and are resolved rapidly. c������������������������t��������j������������������t���������������5��|�j������������������cd�d�d���������S�#�1�sw�Y���nxY�wt���������|������������|�_��������|�j������������������S�r���)� contextlib�suppress�AttributeError�_FastLookup__namesr!���rC����r#���r&���s��� �r���rC���zFastLookup.namelist����s=������� � � �� 0��<�<��1� 0� 0���w�'�)����|�|������1�:c������������������������t��������j������������������t���������������5��|�j������������������cd�d�d���������S�#�1�sw�Y���nxY�wt���������|������������|�_��������|�j������������������S�r���)ra���rb���rc����_FastLookup__lookupr!���rF���re���s��� �r���rF���zFastLookup._name_set����s=������� � � �� 0��=�=��1� 0� 0����)�+�� ��}�}�rf���)r-���r.���r/���r0���rC���rF���r1���r2���s���@r���r_���r_�������s�������� ���r ���r_���c������������������4�����t��������j������������������|�d�������||fS�)N����)�io� text_encoding)�encodingr$���r%���s��� r����_extract_text_encodingrn�������s������ ���H�a�(�$��6�6r ���c�������������������������e�Zd�ZdZdZd d�Zd��Zd��Zd!dd�d�Zd ��Z e d ����������Ze d����������Ze d����������Z e d ����������Ze d����������Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��ZeZ e d����������Z!y)"r���u��� A :class:`importlib.resources.abc.Traversable` interface for zip files. Implements many of the features users enjoy from :class:`pathlib.Path`. Consider a zip file with this structure:: . ├── a.txt └── b ├── c.txt └── d └── e.txt >>> data = io.BytesIO() >>> zf = ZipFile(data, 'w') >>> zf.writestr('a.txt', 'content of a') >>> zf.writestr('b/c.txt', 'content of c') >>> zf.writestr('b/d/e.txt', 'content of e') >>> zf.filename = 'mem/abcde.zip' Path accepts the zipfile object itself or a filename >>> root = Path(zf) From there, several path operations are available. Directory iteration (including the zip file itself): >>> a, b = root.iterdir() >>> a Path('mem/abcde.zip', 'a.txt') >>> b Path('mem/abcde.zip', 'b/') name property: >>> b.name 'b' join with divide operator: >>> c = b / 'c.txt' >>> c Path('mem/abcde.zip', 'b/c.txt') >>> c.name 'c.txt' Read text: >>> c.read_text(encoding='utf-8') 'content of c' existence: >>> c.exists() True >>> (b / 'missing.txt').exists() False Coercion to string: >>> import os >>> str(c).replace(os.sep, posixpath.sep) 'mem/abcde.zip/b/c.txt' At the root, ``name``, ``filename``, and ``parent`` resolve to the zipfile. Note these attributes are not valid and will raise a ``ValueError`` if the zipfile has no filename. >>> root.name 'abcde.zip' >>> str(root.filename).replace(os.sep, posixpath.sep) 'mem/abcde.zip' >>> str(root.parent) 'mem' z>{self.__class__.__name__}({self.root.filename!r}, {self.at!r})c������������������F�����t���������j������������������|�������|�_��������||�_��������y)aX�� Construct a Path from a ZipFile or filename. Note: When the source is an existing ZipFile object, its type (__class__) will be mutated to a specialized type. If the caller wishes to retain the original type, the caller should either create a separate ZipFile object or pass a filename. N)r_���r[����root�at)r#���rq���rr���s��� r���r"���z Path.__init__��s��������O�O�D�)�� ���r ���c�����������������������|�j�������������������|j�������������������urt��������S�|�j������������������|�j������������������f|j������������������|j������������������fk(��S�)zU >>> Path(zipfile.ZipFile(io.BytesIO(), 'w')) == 'foo' False )r&����NotImplementedrq���rr���)r#����others��� r����__eq__zPath.__eq__��s?������ ��>�>����0�!�!�� � �4�7�7�#�� � �E�H�H�'=�=�=r ���c������������������D�����t��������|�j������������������|�j������������������f�������S�r���)�hashrq���rr���r(���s��� r����__hash__z Path.__hash__&��s�������T�Y�Y����(�)�)r ���N��pwdc�����������������N����|�j��������������������������rt��������|���������|d���}|dk(��r|�j��������������������������st��������|���������|�j������������������j������������������|�j������������������||��������}d|v�r|s|rt��������d��������|S�t��������|i�|��\��}}}t��������j������������������||g|��i�|��S�)z� Open this entry as text or binary following the semantics of ``pathlib.Path.open()`` by passing arguments through to io.TextIOWrapper(). r���rU���rz����bz*encoding args invalid for binary operation)�is_dir�IsADirectoryError�exists�FileNotFoundErrorrq����openrr���� ValueErrorrn���rk���� TextIOWrapper)r#���rX���r{���r$���r%����zip_mode�streamrm���s��� r���r����z Path.open)��s���������;�;�=�#�D�)�)���7���s�?�4�;�;�=�#�D�)�)����������s��;���$�;��v� �!M�N�N��M�!7��!H��!H���$�������B�4�B�6�B�Br ���c������������������p�����t��������j������������������|�j������������������xs�|�j������������������j�������������������������S�r���)�pathlib� PurePosixPathrr���rq���rN���r(���s��� r����_basez Path._base=��s&�������$�$�T�W�W�%B�� � �0B�0B�C�Cr ���c������������������6�����|�j��������������������������j������������������S�r���)r����rI���r(���s��� r���rI���z Path.name@����������z�z�|� � � r ���c������������������6�����|�j��������������������������j������������������S�r���)r�����suffixr(���s��� r���r����zPath.suffixD��s�������z�z�|�"�"�"r ���c������������������6�����|�j��������������������������j������������������S�r���)r�����suffixesr(���s��� r���r����z Path.suffixesH��s�������z�z�|�$�$�$r ���c������������������6�����|�j��������������������������j������������������S�r���)r�����stemr(���s��� r���r����z Path.stemL��r����r ���c�����������������������t��������j������������������|�j������������������j�������������������������j ������������������|�j �������������������������S�r���)r����r���rq���rN����joinpathrr���r(���s��� r���rN���z Path.filenameP��s*�������|�|�D�I�I�.�.�/�8�8����A�Ar ���c�����������������������t��������|i�|��\��}}}�|�j������������������d|g|��i�|��5�}|j��������������������������cd�d�d���������S�#�1�sw�Y���y�xY�w)NrU���)rn���r�����read)r#���r$���r%���rm����strms��� r���� read_textzPath.read_textT��sI������!7��!H��!H���$�� �T�Y�Y�s�H� 6�t� 6�v� 6�$��9�9�;��7� 6� 6�s����A�A c������������������p�����|�j������������������d�������5�}|j��������������������������cd�d�d���������S�#�1�sw�Y���y�xY�w)N�rb)r����r����)r#���r����s��� r���� read_byteszPath.read_bytesY��s"������ �Y�Y�t�_���9�9�;���_�_�s����,�5c�����������������������t��������j������������������|j������������������j������������������d��������������|�j������������������j������������������d�������k(��S��NrH���)r���rJ���rr���r���)r#���r ���s��� r���� _is_childzPath._is_child]��s2������� � �������!4�5�������9L�L�Lr ���c������������������:�����|�j������������������|�j������������������|�������S�r���)r&���rq���)r#���rr���s��� r����_nextz Path._next`��s�������~�~�d�i�i��,�,r ���c������������������V�����|�j��������������������xs�|�j�������������������j������������������d�������S�r����)rr���rQ���r(���s��� r���r~���zPath.is_dirc��s"�������7�7�{�3�d�g�g�.�.�s�3�3r ���c������������������H�����|�j��������������������������xr�|�j���������������������������S�r���)r����r~���r(���s��� r����is_filezPath.is_filef��s�������{�{�}�2�T�[�[�]�!2�2r ���c������������������N�����|�j�������������������|�j������������������j��������������������������v�S�r���)rr���rq���rF���r(���s��� r���r����zPath.existsi��s�������w�w�$�)�)�-�-�/�/�/r ���c�����������������������|�j��������������������������st��������d��������t��������|�j������������������|�j������������������j���������������������������������}t ��������|�j������������������|�������S�)NzCan't listdir a file)r~���r����r<���r����rq���rC����filterr����)r#����subss��� r����iterdirzPath.iterdirl��sE�������{�{�}��3�4�4��4�:�:�t�y�y�1�1�3�4���d�n�n�d�+�+r ���c������������������^�����t��������j������������������|�j�������������������������j������������������|�������S�r���)r����r����rr����match)r#����path_patterns��� r���r����z Path.matchr��s"�������$�$�T�W�W�-�3�3�L�A�Ar ���c������������������������y)z] Return whether this path is a symlink. Always false (python/cpython#82102). F��r(���s��� r���� is_symlinkzPath.is_symlinku��s�������r ���c������������������&����|st��������d|����������t��������j������������������|�j�������������������������}t��������j������������������|t��������|�������z����������j������������������}t��������|�j������������������t��������||�j������������������j����������������������������������������S�)NzUnacceptable pattern: )r�����re�escaperr����compiler���� fullmatchr<���r����r����rq���rC���)r#����pattern�prefix�matchess��� r����globz Path.glob{��sm��������5�g�[�A�B�B����4�7�7�#���*�*�V�i��&8�8�9�C�C���4�:�:�v�g�t�y�y�/A�/A�/C�D�E�Er ���c������������������*�����|�j������������������d|����������S�)Nz**/)r����)r#���r����s��� r����rglobz Path.rglob���s�������y�y�3�w�i��)�)r ���c������������������l�����t��������j������������������t��������|��������t���������|j������������������|����������������S�r���)r����relpath�strr����)r#���ru����extras��� r����relative_tozPath.relative_to���s)������� � ��T��C������0F�,G�H�Hr ���c������������������j�����t��������j������������������|�j������������������j������������������|�j�������������������������S�r���)r����joinrq���rN���rr���r(���s��� r����__str__zPath.__str__���s!�������~�~�d�i�i�0�0�$�'�'�:�:r ���c������������������:�����|�j�������������������j������������������|���������S�)Nr(���)�_Path__repr�formatr(���s��� r����__repr__z Path.__repr__���s�������{�{�!�!�t�!�,�,r ���c�����������������������t��������j������������������|�j������������������g|����}|�j������������������|�j������������������j������������������|��������������S�r���)r���r����rr���r����rq���rL���)r#���ru����nexts��� r���r����z Path.joinpath���s7�������~�~�d�g�g�.��.���z�z�$�)�)�/�/��5�6�6r ���c������������������������|�j�������������������s|�j������������������j������������������S�t��������j������������������|�j�������������������j������������������d��������������}|r|dz ��}|�j ������������������|�������S�r����)rr���rN����parentr���rJ���r���r����)r#���� parent_ats��� r���r����zPath.parent���sR�������w�w��=�=�'�'�'��%�%�d�g�g�n�n�S�&9�:� �����I��z�z�)�$�$r ���)��)rU���)"r-���r.���r/���r0���r����r"���rv���ry���r����r�����propertyrI���r����r����r����rN���r����r����r����r����r~���r����r����r����r����r����r����r����r����r����r����r�����__truediv__r����r����r ���r���r���r�������s�����N�`�N�F��>�*�C���C�(D���!���!���#���#���%���%���!���!���B���B�� �M�-�4�3�0�,�B��F�*�I�;�-�7���K� �%���%r ���r���)r0���rk���r���rR���r���ra���r����r����r����r����__all__r���r ����dict�fromkeysr=���r���r���rW���r4���r_���rn���r���r����r ���r����<module>r�������s�������� ������������ �����(��6�&+�6��-�-���/�H�*��*�$>�#�W�_�_��>�B����&7� _%��_%r ���