o
    QDiv                     @  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 er6dd
lmZ G dd de	ZdS )    )annotations)TYPE_CHECKINGAnyOptional   )Resource)Plugin   )
OdsAdapter
OdsControl)	OdsParser)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 )	OdsPluginzPlugin for ODSNF)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   ods)resource)
isinstancestrr   formatr   r
   )selfr   r   r   r   r    r   X/var/www/Datamplify/venv/lib/python3.10/site-packages/frictionless/formats/ods/plugin.pycreate_adapter   s   


zOdsPlugin.create_adapterr   r   c                 C  s   |j dkr	t|S d S Nr   )r   r   r   r   r   r   r   create_parser#   s   
zOdsPlugin.create_parserc                 C  s*   |j dkr|jp	d|_|jpd|_d S d S )Nr   tablez.application/vnd.oasis.opendocument.spreadsheet)r   datatype	mediatyper"   r   r   r   detect_resource'   s
   
zOdsPlugin.detect_resourcetypec                 C  s   |dkrt S d S r!   r   )r   r(   r   r   r   select_control_class.   s   zOdsPlugin.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   parserr   dialectr   r   r   r   r   r   <module>   s    