o
    QDi                     @  sx   d dl mZ d dlmZ d dlZddlmZ ddlmZ er$ddl	m
Z
 dgZg d	Zejd
ddG dd deZdS )    )annotations)TYPE_CHECKINGN   )errors)Check)Row   )l            l    l    ii    i  i  TF)kw_onlyreprc                   @  s&   e Zd ZdZdZejgZdddZdS )	truncated_valuezCheck for possible truncated values

    This check can be enabled using the `checks` parameter
    for the `validate` function.

    ztruncated-valuerowr   c                 c  sr    |  D ]1\}}d}|d u rqt|trt|tv rd}t|tr(|tv r(d}|r6d}tjj	|||dV  qd S )NFTzvalue  is probably truncated)note
field_name)
items
isinstancestrlenTRUNCATED_STRING_LENGTHSintTRUNCATED_INTEGER_VALUESr   TruncatedValueErrorfrom_row)selfr   r   cell	truncatedr    r   a/var/www/Datamplify/venv/lib/python3.10/site-packages/frictionless/checks/cell/truncated_value.pyvalidate_row,   s$   

ztruncated_value.validate_rowN)r   r   )	__name__
__module____qualname____doc__typer   r   Errorsr   r   r   r   r   r      s
    r   )
__future__r   typingr   attrs r   	checklistr   tabler   r   r   definer   r   r   r   r   <module>   s    