o
    QDi                     @  s   d dl mZ d dlmZmZmZmZ d dlZddlm	Z	 ddl
mZ er0ddlmZ ddlmZ ejd	d
dG dd deZdS )    )annotations)TYPE_CHECKINGAnyIterableListN   )errors)Check)Error)RowTF)kw_onlyreprc                   @  sb   e Zd ZU dZdZejgZded< 	 ded< 	 dd	d
Z	dddZ
ddgddiddiddZdS )forbidden_valuez&Check for forbidden values in a field.zforbidden-valuestr
field_namez	List[Any]valuesreturnIterable[Error]c                 c  s2    | j | jjjvrd| j  }tj|dV  d S d S )Nz)forbidden value check requires field "%s")note)r   resourceschemafield_namesr   
CheckError)selfr    r   a/var/www/Datamplify/venv/lib/python3.10/site-packages/frictionless/checks/cell/forbidden_value.pyvalidate_start$   s
   
zforbidden_value.validate_startrowr   c                 c  s:    || j  }|| jv rtjj|d| j | j dV  d S d S )Nzforbidden values are "%s")r   r   )r   r   r   ForbiddenValueErrorfrom_row)r   r   cellr   r   r   validate_row)   s   

zforbidden_value.validate_row	fieldNametypestringarray)r"   r   )required
propertiesN)r   r   )r   r   )__name__
__module____qualname____doc__r#   r   r   Errors__annotations__r   r!   metadata_profile_patchr   r   r   r   r      s   
 


r   )
__future__r   typingr   r   r   r   attrs r   	checklistr	   errorr
   tabler   definer   r   r   r   r   <module>   s    