*G d dl Z d dlZd dlZd dlmZmZmZmZmZm Z m Z d dlmZmZ d dlm Z e eej e f Zg dZ G d de j Ze G d d e Z G d de ZdS ) N)AnyBinaryIOIterableIteratorNoReturnTextOptional)runtime_checkableProtocol)Union)ResourceReaderTraversableTraversableResourcesc e Zd ZdZej dedefd Zej dedefd Z ej dede fd Zej dee fd Zd S ) r zDAbstract base class for loaders to provide resource reading support.resourcereturnc t )zReturn an opened, file-like object for binary reading. The 'resource' argument is expected to represent only a file name. If the resource cannot be found, FileNotFoundError is raised. FileNotFoundErrorselfr s D/opt/alt/python-internal/lib64/python3.11/importlib/resources/abc.py open_resourcezResourceReader.open_resource s c t )zReturn the file system path to the specified resource. The 'resource' argument is expected to represent only a file name. If the resource does not exist on the file system, raise FileNotFoundError. r r s r resource_pathzResourceReader.resource_path s r pathc t )zjReturn True if the named 'path' is a resource. Files are resources, directories are not. r r r s r is_resourcezResourceReader.is_resource* s r c t )z+Return an iterable of entries in `package`.r r s r contentszResourceReader.contents2 s r N)__name__ __module____qualname____doc__abcabstractmethodr r r r boolr r strr# r r r r s NN d x d t (3- r r ) metaclassc < e Zd ZdZej ded fd ZdefdZ dde e defdZej de fd Zej de fd Zej d edd fd Zdedd fd Zej dd Zej defd ZdS )r z An object with a subset of pathlib.Path methods suitable for traversing directories and opening files. Any exceptions that occur when accessing the backing resource may propagate unaltered. r c dS )z3 Yield Traversable objects in self Nr, r" s r iterdirzTraversable.iterdirB r c | d 5 }| cddd S # 1 swxY w Y dS )z0 Read contents of self as bytes rbNopenread)r strms r read_byteszTraversable.read_bytesH s YYt__ 99;; s 7;;Nencodingc | | 5 }| cddd S # 1 swxY w Y dS )z/ Read contents of self as text )r9 Nr4 )r r9 r7 s r read_textzTraversable.read_textO s YYY ) ) T99;; s 8<<c dS )z4 Return True if self is a directory Nr, r" s r is_dirzTraversable.is_dirV r1 r c dS )z/ Return True if self is a file Nr, r" s r is_filezTraversable.is_file\ r1 r descendantsc dS )z Return Traversable resolved with any descendants applied. Each descendant should be a path segment relative to self and each may contain multiple levels separated by ``posixpath.sep`` (``/``). Nr, )r r@ s r joinpathzTraversable.joinpathb r1 r childc , | | S )z2 Return Traversable child in self )rB )r rC s r __truediv__zTraversable.__truediv__l s }}U###r rc dS )z mode may be 'r' or 'rb' to open as text or binary. Return a handle suitable for reading (same as pathlib.Path.open). When opening as text, accepts encoding parameters such as those accepted by io.TextIOWrapper. Nr, )r modeargskwargss r r5 zTraversable.openr r1 r c dS )zM The base name of this object without any parent references. Nr, r" s r namezTraversable.name| r1 r N)rF )r$ r% r&