o
    ȷe)                     @   s@  d dl mZ G dd deZG dd deZG dd deZG dd	 d	eZG d
d deZG dd deZG dd deZ	G dd deZ
G dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG d d! d!eZG d"d# d#eZG d$d! d!eZG d%d& d&eZd'S )(    dynamize_valuec                   @   s   e Zd ZdZdd ZdS )	Conditionz
    Base class for conditions.  Doesn't do a darn thing but allows
    is to test if something is a Condition instance or not.
    c                 C   s   t |tr|  | kS d S N)
isinstancer   to_dict)selfother r
   N/var/www/ideatree/venv/lib/python3.10/site-packages/boto/dynamodb/condition.py__eq__!   s   
zCondition.__eq__N)__name__
__module____qualname____doc__r   r
   r
   r
   r   r      s    r   c                   @   s    e Zd ZdZdd Zdd ZdS )ConditionNoArgsz`
    Abstract class for Conditions that require no arguments, such
    as NULL or NOT_NULL.
    c                 C   s   d| j j S )Nz%s	__class__r   r   r
   r
   r   __repr__+      zConditionNoArgs.__repr__c                 C   s   d| j jiS )NComparisonOperatorr   r   r
   r
   r   r   .   r   zConditionNoArgs.to_dictN)r   r   r   r   r   r   r
   r
   r
   r   r   %   s    r   c                   @   (   e Zd ZdZdd Zdd Zdd ZdS )	ConditionOneArgz\
    Abstract class for Conditions that require a single argument
    such as EQ or NE.
    c                 C   
   || _ d S r   )v1)r   r   r
   r
   r   __init__8      
zConditionOneArg.__init__c                 C   s   d| j j| jf S )Nz%s:%s)r   r   r   r   r
   r
   r   r   ;   s   zConditionOneArg.__repr__c                 C   s   t | jg| jjdS )NAttributeValueListr   )r   r   r   r   r   r
   r
   r   r   >   s   
zConditionOneArg.to_dictNr   r   r   r   r   r   r   r
   r
   r
   r   r   2   s
    r   c                   @   r   )	ConditionTwoArgszv
    Abstract class for Conditions that require two arguments.
    The only example of this currently is BETWEEN.
    c                 C   s   || _ || _d S r   )r   v2)r   r   r"   r
   r
   r   r   I   s   
zConditionTwoArgs.__init__c                 C   s   d| j j| j| jf S )Nz
%s(%s, %s))r   r   r   r"   r   r
   r
   r   r   M   s   zConditionTwoArgs.__repr__c                 C   s$   | j | jf}dd |D | jjdS )Nc                 S      g | ]}t |qS r
   r   .0vr
   r
   r   
<listcomp>R       z,ConditionTwoArgs.to_dict.<locals>.<listcomp>r   )r   r"   r   r   r   valuesr
   r
   r   r   P   s   zConditionTwoArgs.to_dictNr    r
   r
   r
   r   r!   C   s
    r!   c                   @   r   )	ConditionSeveralArgszO
    Abstract class for conditions that require several argument (ex: IN).
    c                 C   r   r   )r*   r)   r
   r
   r   r   [   r   zConditionSeveralArgs.__init__c                 C   s   d | jjd| jS )Nz{0}({1})z, )formatr   r   joinr*   r   r
   r
   r   r   ^   s   

zConditionSeveralArgs.__repr__c                 C   s   dd | j D | jjdS )Nc                 S   r#   r
   r   r$   r
   r
   r   r'   c   r(   z0ConditionSeveralArgs.to_dict.<locals>.<listcomp>r   )r*   r   r   r   r
   r
   r   r   b   s   zConditionSeveralArgs.to_dictNr    r
   r
   r
   r   r+   V   s
    r+   c                   @      e Zd ZdS )EQNr   r   r   r
   r
   r
   r   r/   g       r/   c                   @   r.   )NENr0   r
   r
   r
   r   r2   l   r1   r2   c                   @   r.   )LENr0   r
   r
   r
   r   r3   q   r1   r3   c                   @   r.   )LTNr0   r
   r
   r
   r   r4   v   r1   r4   c                   @   r.   )GENr0   r
   r
   r
   r   r5   {   r1   r5   c                   @   r.   )GTNr0   r
   r
   r
   r   r6      r1   r6   c                   @   r.   )NULLNr0   r
   r
   r
   r   r7      r1   r7   c                   @   r.   )NOT_NULLNr0   r
   r
   r
   r   r8      r1   r8   c                   @   r.   )CONTAINSNr0   r
   r
   r
   r   r9      r1   r9   c                   @   r.   )NOT_CONTAINSNr0   r
   r
   r
   r   r:      r1   r:   c                   @   r.   BEGINS_WITHNr0   r
   r
   r
   r   r<      r1   r<   c                   @   r.   )INNr0   r
   r
   r
   r   r=      r1   r=   c                   @   r.   r;   r0   r
   r
   r
   r   r<      r1   c                   @   r.   )BETWEENNr0   r
   r
   r
   r   r>      r1   r>   N)boto.dynamodb.typesr   objectr   r   r   r!   r+   r/   r2   r3   r4   r5   r6   r7   r8   r9   r:   r<   r=   r>   r
   r
   r
   r   <module>   s(   
