� ���g[��h�ddlmZddlmZee��ZGd�d��ZGd�d��ZdS) �)� import_module�)� get_loggerc��eZdZdZdd�ZdS)�_PatchedModuleObjzMSet all the modules components as attributes of the _PatchedModuleObj object.Nc ���|pg}|�B|jD]:}||vs|�d��st||t||�����;t |t ��r|jn||_dS)N�__)�__dict__� startswith�setattr�getattr� isinstancer�_original_module)�self�module�attrs�keys �g/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/datasets/utils/patching.py�__init__z_PatchedModuleObj.__init__ s��� ��� � ��� =� =���%�<�<�s�~�~�d�';�';�<��D�#�w�v�s�';�';�<�<�<��;E�f�N_�;`�;`� l�� 7� 7�fl������N)�__name__� __module__� __qualname__�__doc__r�rrrr s4������W�W�m�m�m�m�m�mrrc�<�eZdZdZgZd defd�Zd�Zd�Zd�Z d�Z dS) �patch_submoduleaF Patch a submodule attribute of an object, by keeping all other submodules intact at all levels. Example:: >>> import importlib >>> from datasets.load import dataset_module_factory >>> from datasets.streaming import patch_submodule, xjoin >>> >>> dataset_module = dataset_module_factory("snli") >>> snli_module = importlib.import_module(dataset_module.module_path) >>> patcher = patch_submodule(snli_module, "os.path.join", xjoin) >>> patcher.start() >>> assert snli_module.os.path.join is xjoin N�targetc��||_||_||_|�d��d|_i|_|pg|_dS)N�.r)�objr�new�splitr�originalr)rr"rr#rs rrzpatch_submodule.__init__(sE������� �����<�<��$�$�Q�'����� ��[�b�� � � rc�J�|j�d���^}}tt|����D�]H} t d�|d|dz�����}n#t $rY�>wxYw|j���D]�}t|j|��}||ust|t��r�|j |ur�||j |<t|j|t||j�����t|j|��}||dzd�D]F}t||tt||d��|j�����t||��}�Gt|||j�����J|r� tt d�|����|��} n#t"t f$rYdSwxYw|j���D]Q}t|j|��| ur8t|j|��|j |<t|j||j���RdS|t%��dvr?t%��d||j |<t|j||j��dSt'd|�d����)Nr!r)r� __builtins__zTried to patch attribute z instead of a submodule.)rr$�range�lenr�join�ModuleNotFoundErrorr"�__dir__r rrrr%r rr#�AttributeError�globals� RuntimeError) r� submodules� target_attr�i� submodule�attr�obj_attr�patchedr� attr_values r� __enter__zpatch_submodule.__enter__0s���#'�;�#4�#4�S�#9�#9� ��[� �s�:���'�'� <� <�A� �)�#�(�(�:�g��A��g�3F�*G�*G�H�H� � ��&� � � ��� ������(�(�*�*� <� <��"�4�8�T�2�2���y�(�(��x�):�;�;�)�@H�@Y�]f�@f�@f�*2�D�M�$�'��D�H�d�,=�h�d�j�,Y�,Y�,Y�Z�Z�Z�%�d�h��5�5�G�)�!�a�%�'�'�2�8�8�����.?���QT�VZ�@[�@[�cg�cm�.n�.n�.n�o�o�o�")�'�3�"7�"7����G�[�$�(�;�;�;��! <�. � b� �$�]�3�8�8�J�3G�3G�%H�%H�+�V�V� � ��"�$7�8� � � ���� ������(�(�*�*� 6� 6���4�8�T�*�*�j�8�8�*1�$�(�D�*A�*A�D�M�$�'��D�H�d�D�H�5�5�5��  6� 6� �G�I�I�n�5� 5� 5�)0���>�)B�;�)O�D�M�+� &� �D�H�k�4�8� 4� 4� 4� 4� 4��`�;�`�`�`�a�a� as#�-A,�, A9�8A9�0F8�8G � G c��t|j��D]0}t|j||j�|�����1dSr)�listr%r r"�pop)r�exc_infor4s r�__exit__zpatch_submodule.__exit__fsL�����'�'� =� =�D� �D�H�d�D�M�$5�$5�d�$;�$;� <� <� <� <� =� =rc�b�|���|j�|��dS)zActivate a patch.N)r8�_active_patches�append�rs r�startzpatch_submodule.startjs/�� ������ ��#�#�D�)�)�)�)�)rc�� |j�|��n#t$rYdSwxYw|���S)zStop an active patch.N)r?�remove� ValueErrorr=rAs r�stopzpatch_submodule.stoposS�� � � � '� '�� -� -� -� -��� � � ��4�4� �����}�}���s �� +�+r) rrrrr?�strrr8r=rBrFrrrrrs��������� �O�!�!�C�!�!�!�!�4b�4b�4b�l=�=�=�*�*�*� ����rrN)� importlibr�loggingrr�loggerrrrrr�<module>rKs���#�#�#�#�#�#������� ��H� � �� m� m� m� m� m� m� m� m�b�b�b�b�b�b�b�b�b�br
Memory