o
    QDiS                     @  st   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 er0dd	lmZ G d
d de	ZdS )    )annotations)TYPE_CHECKINGAnyOptional)urlparse   )Plugin   )ZenodoAdapterZenodoControl)Controlc                   @  s0   e Zd ZdZdddddddZddddZdS )ZenodoPluginzPlugin for ZenodoNF)controlbasepath	packagifysourcer   r   Optional[Control]r   Optional[str]r   boolc                C  s   t |tr<t|}|rt |tr<|jdkr<|pt }|jdr(|jdd|_|jdr8t	|jdd|_
t|S |d u rJt |trLt|dS d S d S )Nz
zenodo.orgz/record/ z	/deposit/)r   )
isinstancestrr   r   netlocpath
startswithreplacerecordintdeposition_idr
   )selfr   r   r   r   parsed r"   [/var/www/Datamplify/venv/lib/python3.10/site-packages/frictionless/portals/zenodo/plugin.pycreate_adapter   s   



zZenodoPlugin.create_adaptertypec                 C  s   |dkrt S d S )Nzenodor   )r    r%   r"   r"   r#   select_control_class(   s   z!ZenodoPlugin.select_control_class)r   r   r   r   r   r   r   r   )N)r%   r   )__name__
__module____qualname____doc__r$   r'   r"   r"   r"   r#   r      s    r   N)
__future__r   typingr   r   r   urllib.parser   systemr   adapterr
   r   r   dialectr   r   r"   r"   r"   r#   <module>   s    