Mini Shell
U
��egI2 �
@ s� d Z ddlmZ ddlmZ ddlmZ zddlZW n2 ek
rf Z zejdkrR� dZW 5 dZ[X Y nX zddl Z W n& ek
r� Z zeZ W 5 dZ[X Y nX ddl
Z
ddlZdd � ZG d
d� de
j
d�ZG d
d� de�Zeeejejejej� G dd� de�Zeeej� G dd� de
j
d�ZG dd� de�ZG dd� de�Zeeejej� G dd� de�Zeeej� G dd� dejee�Zeeejej� G dd� dejee�Zeeej� G dd� de
j
d�Zeeej� dS )z(Abstract base classes related to import.� )�
_bootstrap)�_bootstrap_external)� machinery� N�_frozen_importlibc G s\ |D ]R}| � |� td k rztt|j�}W n tk
rJ tt|j�}Y nX | � |� qd S )N)�registerr �getattr�__name__�AttributeError�_frozen_importlib_external)�abstract_cls�classes�cls�
frozen_cls� r �,/opt/cppython/lib/python3.8/importlib/abc.py� _register s
r c @ s e Zd ZdZejddd��ZdS )�Findera< Legacy abstract base class for import finders.
It may be subclassed for compatibility with legacy third party
reimplementations of the import system. Otherwise, finder
implementations should derive from the more specific MetaPathFinder
or PathEntryFinder ABCs.
Deprecated since Python 3.3
Nc C s dS )z�An abstract method that should find a module.
The fullname is a str and the optional path is a str or None.
Returns a Loader object or None.
Nr )�self�fullname�pathr r r �find_module* s zFinder.find_module)N)r �
__module__�__qualname__�__doc__�abc�abstractmethodr r r r r r s
r )� metaclassc @ s e Zd ZdZdd� Zdd� ZdS )�MetaPathFinderz8Abstract base class for import finders on sys.meta_path.c C s<