
    Nwg                     V    d dl Z d dlmZ d dlZddlmZ  G d dej                        Zy)    N)forms   )
JSONWidgetc                   2     e Zd ZddgZ fdZd Zd Z xZS )JSONFormFieldN c                 F    d|vr	t         |d<   t        t        |   |i | y )Nwidget)r   superr   __init__)selfargskwargs	__class__s      F/var/www/horilla/myenv/lib/python3.12/site-packages/jsonfield/forms.pyr   zJSONFormField.__init__   s)    6!)F8mT+T<V<    c                     t        |t        j                        r|r	 t        j                  |      S |S # t
        $ r=}t        j                  dt        j                  |j                  d               d }~ww xY w)NzJSON decode error: r   )

isinstancesixstring_typesjsonloads
ValueErrorr   ValidationErrorur   )r   valueexcs      r   	to_pythonzJSONFormField.to_python   sk    eS--.5zz%(( L  ++/2uuSXXa[/AC s   5 	A;8A66A;c                     || j                   v r1| j                  r$t        j                  | j                  d   d      y y )Nrequired)code)empty_valuesr    r   r   error_messages)r   r   s     r   validatezJSONFormField.validate   s<    D%%%$--''(;(;J(GjYY +8%r   )__name__
__module____qualname__r"   r   r   r$   __classcell__)r   s   @r   r   r   	   s    ":L=
	Zr   r   )r   djangor   r   widgetsr   	CharFieldr    r   r   <module>r-      s#      
 ZEOO Zr   