Your IP : 18.119.19.206
�
c��f>` � �� � d Z ddlmZ ddlmZ ddlZddlZddlZddl Z ddl
Z ddlZddlm
Z
ddlZg d�Z edd� � Zd e_ d
� Zd� Zdd
�Zd d�Zed!d�� � Zd!d�Ze� ej j e� � d� Z G d� d� � Z G d� d� � Z ddlZddlmZ d!d�Ze� ee� � n# e $ r Y nw xY wd� Z!d!d�Z"d� Z#d� Z$d� Z%d� Z&da'd� Z(dS )"zUtilities to support packages.� )�
namedtuple)�singledispatchN)�
ModuleType)�get_importer�iter_importers�
get_loader�find_loader�
walk_packages�iter_modules�get_data�ImpImporter� ImpLoader� read_code�extend_path�
ModuleInfor zmodule_finder name ispkgz.A namedtuple with minimal info about a module.c � � | j } ||� � S # t $ r= | � |� � }|�Y dS t j � ||� � cY S w xY w)z'Return the finder-specific module spec.N)� find_spec�AttributeError�find_module� importlib�util�spec_from_loader)�finder�namer �loaders �./opt/alt/python311/lib64/python3.11/pkgutil.py� _get_specr sy � ���$� � �y������
� =� =� =��#�#�D�)�)���>��4�4��~�.�.�t�V�<�<�<�<�<� =���s � �!A� A�Ac � � dd l }| � d� � }|t j j k rd S | � d� � |� | � � S )Nr � � )�marshal�readr r �MAGIC_NUMBER�load)�streamr! �magics r r r ( sR � � �N�N�N��K�K��N�N�E�� ��+�+�+��t�
�K�K��O�O�O��<�<����� � c # � �K � i fd��t | |� � D ]�}|V � |j r� t |j � � t t
j |j dd� � pg } �fd�| D � � } t | |j dz |� � E d{V �� �x# t $ r |� ||j � � Y ��t $ r |� ||j � � n� Y ��w xY w��dS )a� Yields ModuleInfo for all modules recursively
on path, or, if path is None, all accessible modules.
'path' should be either None or a list of paths to look for
modules in.
'prefix' is a string to output on the front of every module name
on output.
Note that this function must import all *packages* (NOT all
modules!) on the given path, in order to access the __path__
attribute to find submodules.
'onerror' is a function which gets called with one argument (the
name of the package which was being imported) if any exception
occurs while trying to import a package. If no onerror function is
supplied, ImportErrors are caught and ignored, while all other
exceptions are propagated, terminating the search.
Examples:
# list all modules python can access
walk_packages()
# list all submodules of ctypes
walk_packages(ctypes.__path__, ctypes.__name__+'.')
c � � | |v rdS d|| <