o 0i @ sx d dl Z d dlZd dlZddlmZ dd ZG dd dejZG dd d ejZG d d dej Z G dd d ejZdS ) N )abcc C s t tj| S N)itercollectionsOrderedDictfromkeys)items r 8/opt/alt/python310/lib64/python3.10/importlib/readers.pyremove_duplicates r c @ $ e Zd Zdd Zdd Zdd ZdS ) FileReaderc C s t |jj| _d S r )pathlibPathpathparent)selfloaderr r r __init__ s zFileReader.__init__c C t | j|S z{ Return the file system path to prevent `resources.path()` from creating a temporary copy. strr joinpathr resourcer r r resource_path zFileReader.resource_pathc C | j S r r r r r r files zFileReader.filesN__name__ __module____qualname__r r r# r r r r r s r c s4 e Zd Zdd Z fddZdd Zdd Z ZS ) ZipReaderc C s4 | d\}}}|jdd| d | _|j| _d S )N.\/) rpartitionprefixreplacearchive)r r module_namer r r r s zZipReader.__init__c s6 zt |W S ty } zt|jd d }~ww Nr )super open_resourceKeyErrorFileNotFoundErrorargs)r r exc __class__r r r6 ! s zZipReader.open_resourcec C s | |}| o| S r )r# r is_fileexists)r r targetr r r is_resource' s zZipReader.is_resourcec C s t | j| jS r )zipfiler r0 r. r" r r r r# - r zZipReader.files)r&