o
    QDi:                     @  sr   d dl mZ d dlmZ d dlZd dlZddlmZ ddlm	Z	 er(ddl
mZ ejdd	d
G dd de	ZdS )    )annotations)TYPE_CHECKINGN   )errors)Check)RowTF)kw_onlyreprc                   @  sF   e Zd ZU dZdZejgZded< 	 dddZ	dgdd	d
iidZ
dS )row_constraintz<Check that every row satisfies a provided Python expression.zrow-constraintstrformularowr   c                 c  sR    zt j}||d| jsJ W d S  ty(   tjj|d| j dV  Y d S w )N)namesz%the row constraint to conform is "%s")note)
simpleevalEvalWithCompoundTypesevalr   	Exceptionr   RowConstraintErrorfrom_row)selfr   	evalclass r   _/var/www/Datamplify/venv/lib/python3.10/site-packages/frictionless/checks/row/row_constraint.pyvalidate_row   s   zrow_constraint.validate_rowtypestring)required
propertiesN)r   r   )__name__
__module____qualname____doc__r   r   r   Errors__annotations__r   metadata_profile_patchr   r   r   r   r
      s   
 

r
   )
__future__r   typingr   attrsr    r   	checklistr   tabler   definer
   r   r   r   r   <module>   s    