o
    ´©iÐ  ã                   @   sB   d dl Zd dl Zd dlZd dlZd dlZdd„ Zdefdd„ZdS )é    Nc                 C   s@   |   d¡d  dd¡}tj || ¡}tj |¡}|j |¡ |S )uŠ   
    ä»Žç»™å®šçš„æ–‡ä»¶è·¯å¾„åŠ¨æ€åŠ è½½æ¨¡å—ã€‚

    :param file_path: æ¨¡å—æ–‡ä»¶çš„ç»å¯¹è·¯å¾„ã€‚
    :return: åŠ è½½çš„æ¨¡å—
    ú/éÿÿÿÿú.pyÚ )ÚsplitÚreplaceÚ	importlibÚutilÚspec_from_file_locationÚmodule_from_specÚloaderÚexec_module)Ú	file_pathÚmodule_nameÚspecÚmodule© r   úO/home/ubuntu/.local/lib/python3.10/site-packages/funasr/utils/dynamic_import.pyÚload_module_from_path	   s
   r   r   c              
   C   s¶   |   d¡rddlm} || ƒ} tj | ¡}|  d¡d  dd¡}t|ƒdk r(d	}t	j 
|¡ zt |¡ td
| › ƒ W d S  tyZ } ztd| › d|› ƒ W Y d }~d S d }~ww )NÚhttpr   )Údownload_from_urlr   r   r   r   é   z./z"Loading remote code successfully: zLoading remote code failed: z, )Ú
startswithÚfunasr.download.filer   ÚosÚpathÚdirnamer   r   ÚlenÚsysÚappendr   Úimport_moduleÚprintÚ	Exception)r   r   Úfile_dirr   Úer   r   r   Úimport_module_from_path   s   

"€ÿr%   )	Úimportlib.utilr   ÚinspectÚos.pathr   r   r   Ústrr%   r   r   r   r   Ú<module>   s    