o ckF[)@s@ddlmZGdddeZGdddeZGdddeZGdd d eZGd d d eZGd d d eZGdddeZ GdddeZ GdddeZ GdddeZ GdddeZ GdddeZGdddeZGdddeZGdddeZGd d!d!eZGd"d#d#eZGd$d!d!eZGd%d&d&eZd'S)(dynamize_valuec@seZdZdZddZdS) Conditionz Base class for conditions. Doesn't do a darn thing but allows is to test if something is a Condition instance or not. cCst|tr ||kSdSN) isinstancerto_dict)selfotherr 9/usr/lib/python3/dist-packages/boto/dynamodb/condition.py__eq__!s zCondition.__eq__N)__name__ __module__ __qualname____doc__r r r r r rs rc@s eZdZdZddZddZdS)ConditionNoArgsz` Abstract class for Conditions that require no arguments, such as NULL or NOT_NULL. cCs d|jjS)Nz%s __class__r rr r r __repr__+ zConditionNoArgs.__repr__cCs d|jjiS)NComparisonOperatorrrr r r r.rzConditionNoArgs.to_dictN)r rrrrrr r r r r%s rc@(eZdZdZddZddZddZdS) ConditionOneArgz\ Abstract class for Conditions that require a single argument such as EQ or NE. cC ||_dSr)v1)rrr r r __init__8 zConditionOneArg.__init__cCsd|jj|jfS)Nz%s:%s)rr rrr r r r;szConditionOneArg.__repr__cCst|jg|jjdS)NAttributeValueListr)rrrr rr r r r>s zConditionOneArg.to_dictNr rrrrrrr r r r r2s  rc@r) ConditionTwoArgszv Abstract class for Conditions that require two arguments. The only example of this currently is BETWEEN. cCs||_||_dSr)rv2)rrr"r r r rIs zConditionTwoArgs.__init__cCsd|jj|j|jfS)Nz %s(%s, %s))rr rr"rr r r rMszConditionTwoArgs.__repr__cCs$|j|jf}dd|D|jjdS)NcSg|]}t|qSr r.0vr r r Rz,ConditionTwoArgs.to_dict..r)rr"rr rvaluesr r r rPs  zConditionTwoArgs.to_dictNr r r r r r!Cs  r!c@r) ConditionSeveralArgszO Abstract class for conditions that require several argument (ex: IN). cCrr)r*r)r r r r[rzConditionSeveralArgs.__init__cCsd|jjd|jS)Nz{0}({1})z, )formatrr joinr*rr r r r^s  zConditionSeveralArgs.__repr__cCsdd|jD|jjdS)NcSr#r rr$r r r r'cr(z0ConditionSeveralArgs.to_dict..r)r*rr rr r r rbszConditionSeveralArgs.to_dictNr r r r r r+Vs  r+c@ eZdZdS)EQNr rrr r r r r/gr/c@r.)NENr0r r r r r2lr1r2c@r.)LENr0r r r r r3qr1r3c@r.)LTNr0r r r r r4vr1r4c@r.)GENr0r r r r r5{r1r5c@r.)GTNr0r r r r r6r1r6c@r.)NULLNr0r r r r r7r1r7c@r.)NOT_NULLNr0r r r r r8r1r8c@r.)CONTAINSNr0r r r r r9r1r9c@r.) NOT_CONTAINSNr0r r r r r:r1r:c@r. BEGINS_WITHNr0r r r r r<r1r<c@r.)INNr0r r r r r=r1r=c@r.r;r0r r r r r<r1c@r.)BETWEENNr0r r r r r>r1r>N)boto.dynamodb.typesrobjectrrrr!r+r/r2r3r4r5r6r7r8r9r:r<r=r>r r r r s(