o
    QDi                     @  s   d dl mZ d dlmZmZmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZ dd	lmZmZ er8dd
lmZ G dd de	ZdS )    )annotations)TYPE_CHECKINGAnyOptional   )Resource)Plugin   )ExcelAdapterExcelControl)	XlsParser
XlsxParser)Controlc                   @  sD   e Zd ZdZdddddddZdddZdddZddddZdS )ExcelPluginzPlugin for ExcelNF)controlbasepath	packagifysourcer   r   Optional[Control]r   Optional[str]r   boolc                C  sF   |rt |trt||d}|jdkr!|pt }t||dS d S d S d S )N)pathr   xlsx)resource)
isinstancestrr   formatr   r
   )selfr   r   r   r   r    r   Z/var/www/Datamplify/venv/lib/python3.10/site-packages/frictionless/formats/excel/plugin.pycreate_adapter   s   


zExcelPlugin.create_adapterr   r   c                 C  s(   |j dkr	t|S |j dkrt|S d S )Nr   xls)r   r   r   r   r   r   r   r    create_parser#   s
   

zExcelPlugin.create_parserc                 C  s*   |j dv r|jp	d|_|jpd|_d S d S )N)r   r"   tablezapplication/vnd.ms-excel)r   datatype	mediatyper#   r   r   r    detect_resource)   s   
zExcelPlugin.detect_resourcetypec                 C  s   |dkrt S d S )Nexcelr   )r   r)   r   r   r    select_control_class.   s   z ExcelPlugin.select_control_class)r   r   r   r   r   r   r   r   )r   r   )N)r)   r   )__name__
__module____qualname____doc__r!   r$   r(   r+   r   r   r   r    r      s    

r   N)
__future__r   typingr   r   r   r   r   systemr   adapterr
   r   r   parsersr   r   dialectr   r   r   r   r   r    <module>   s    