
    N.hx                     :    d Z ddlZddlZddlmZ  G d de      Zy)zImplementation of the DbDoc.    N   )STRING_TYPESc                   .    e Zd ZdZd Zd Zd Zd Zd Zy)DbDoczRepresents a generic document in JSON format.

    Args:
        value (object): The value can be a JSON string or a dict.

    Raises:
        ValueError: If ``value`` type is not a basestring or dict.
    c                     t        |t              r|| _        y t        |t              rt	        j
                  |      | _        y t        dj                  t        |                  )NzUnable to handle type: {0})	
isinstancedict__dict__r   jsonloads
ValueErrorformattype)selfvalues     `/var/www/html/School_Mangement_New/src/backend/venv/lib/python3.12/site-packages/mysqlx/dbdoc.py__init__zDbDoc.__init__)   sH    eT"!DM|, JJu-DM9@@eMNN    c                      | j                   |   S N)r
   )r   indexs     r   __getitem__zDbDoc.__getitem__2   s    }}U##r   c                 6    | j                   j                         S r   )r
   keysr   s    r   r   z
DbDoc.keys5   s    }}!!##r   c                     d| j                   vr+t        j                         j                  | j                   d<   | j                   d   S )N_id)r
   uuiduuid4hexr   s    r   	ensure_idzDbDoc.ensure_id8   s7    %#'::<#3#3DMM% }}U##r   c                 @    t        j                  | j                        S r   )r   dumpsr
   r   s    r   __str__zDbDoc.__str__=   s    zz$--((r   N)	__name__
__module____qualname____doc__r   r   r   r!   r$    r   r   r   r       s!    O$$$
)r   r   )r(   r   r   compatr   objectr   r)   r   r   <module>r,      s   0 #    )F )r   