File: //var/opt/nydus/ops/importlib_resources/__pycache__/_py2.cpython-39.pyc
a
�,�h� � @ s� d dl Z d dlZddlmZ ddlmZ d dlmZ d dlm Z m
Z
mZ dd� Z
d d
� Zdd� Zd
d� Zddd�Zdd� Zd dd�Zdd� Zdd� Zdd� Zdd� ZdS )!� N� )�_common)�FileNotFoundError)�
import_module)�BytesIO�
TextIOWrapper�openc C s t | t�s| S t| �S )z)If name is a string, resolve to a module.)�
isinstance�
basestringr ��name� r
�I/opt/nydus/tmp/pip-target-wkfpz8uv/lib/python/importlib_resources/_py2.py�_resolve
s
r c C s$ t | �}t|d�s td�| ���|S )��Normalize a path by ensuring it is a string.
If the resulting string contains path separators, an exception is raised.
�__path__z{!r} is not a package)r �hasattr� TypeError�format)�package�moduler
r
r �_get_package s
r c C s. t | �}tj�|�\}}|r*td�| ���|S )r z{!r} must be only a file name)�str�os�path�split�
ValueErrorr )r Zstr_path�parent� file_namer
r
r �_normalize_path s
r c C s� t |�}t| �} tj�| j�}tj�||�}tj�|�}zt|d�W S t y� z*| j
}|t|j�d d� }|�
|�}W n0 t tfy� | j}d�||�}t|��Y n0 t|� Y S 0 dS )zDReturn a file-like object opened for binary reading of the resource.�rbr Nz{!r} resource not found in {!r})r r r r �dirname�__file__�join�abspath�io_open�IOError�
__loader__�len�archive�get_data�AttributeError�__name__r r r ) r �resource�package_path�
relative_path� full_path�loader�data�package_name�messager
r
r �open_binary( s&