o
    QDiH                     @  sf   d dl mZ d dlmZ d dlZddlmZ ddlmZ ddlm	Z	 ej
dd	d
G dd deZdS )    )annotations)UnionN   )Step)platformResourceTF)kw_onlyreprc                   @  sP   e Zd ZU dZdZded< 	 dddZdgddd	d
giidZedddZ	dS )table_attachzmAttach table.

    This step can be added using the `steps` parameter
    for the `transform` function.

    ztable-attachzUnion[Resource, str]resourcer   c                 C  sv   | j }|}t|tr|jsJ |j|}|  | }| }|jjD ]}|jj	|
  q%tj|||_d S )N)r   
isinstancestrpackageget_resourceinferto_petlschemafieldsappendto_copyr   petlannexdata)selfr   sourcetargetview1view2field r    ^/var/www/Datamplify/venv/lib/python3.10/site-packages/frictionless/steps/table/table_attach.pytransform_resource   s   

ztable_attach.transform_resourcetypeobjectstring)required
propertiesnamer   c                 C  s   |dkrt S d S )Nr   r   )clsr(   r    r    r!   metadata_select_property_class4   s   z+table_attach.metadata_select_property_classN)r   r   )r(   r   )
__name__
__module____qualname____doc__r#   __annotations__r"   metadata_profile_patchclassmethodr*   r    r    r    r!   r      s   
 
r   )
__future__r   typingr   attrspipeliner   r   r   r   definer   r    r    r    r!   <module>   s    