o
    pi                     @  sj   d dl mZ d dlZd dlmZ d dlZddlmZmZ dZ	G dd dej
ZG d	d
 d
ej
Ze ZdS )    )annotationsN)Any   )import_moduleload_libraryzpaddle.classesc                      s(   e Zd Zd	 fddZd
ddZ  ZS )ClassesNameSpacenamestrc                   s    t  t d|  || _d S )N.)super__init__PADDLE_CLASSES_MODULE_NAMEr   selfr   	__class__ V/home/app/PaddleOCR-VL/.venv_paddleocr/lib/python3.10/site-packages/paddle/_classes.pyr      s   
zClassesNameSpace.__init__returnr   c                 C  s    |dkrt S tjjj| j|S )N__file__)r   paddlebasecoreZtorch_compatZ _get_custom_class_python_wrapperr   r   r   r   r   __getattr__    s
   
zClassesNameSpace.__getattr__r   r	   )r   r	   r   r   )__name__
__module____qualname__r   r   __classcell__r   r   r   r   r      s    r   c                      s:   e Zd ZdZ fddZdddZdd	 Zd
d Z  ZS )PaddleClassesModulez_classes.pyc                   s   t  t d S N)r   r   r   )r   r   r   r   r   +   s   zPaddleClassesModule.__init__r   r	   c                 C  s   t |}t| || |S r    )r   setattr)r   r   	namespacer   r   r   r   .   s   zPaddleClassesModule.__getattr__c                 C     t |S r    )r   )r   moduler   r   r   r   4      z!PaddleClassesModule.import_modulec                 C  r#   r    )r   )r   pathr   r   r   r   7   r%   z PaddleClassesModule.load_libraryr   )	r   r   r   r   r   r   r   r   r   r   r   r   r   r   (   s    
r   )
__future__r   typestypingr   r   Z_opsr   r   r   
ModuleTyper   r   classesr   r   r   r   <module>   s   
