@@ -451,9 +451,16 @@ def contained_by(
451
451
return self .filter (column , Filters .CD , f"{{{ stringified_values } }}" )
452
452
return self .filter (column , Filters .CD , json .dumps (value ))
453
453
454
- def ov (self : Self , column : str , values : Iterable [Any ]) -> Self :
455
- values = "," .join (values )
456
- return self .filter (column , Filters .OV , f"{{{ values } }}" )
454
+ def ov (self : Self , column : str , value : Iterable [Any ]) -> Self :
455
+ if isinstance (value , str ):
456
+ # range types can be inclusive '[', ']' or exclusive '(', ')' so just
457
+ # keep it simple and accept a string
458
+ return self .filter (column , Filters .OV , value )
459
+ if not isinstance (value , dict ) and isinstance (value , Iterable ):
460
+ # Expected to be some type of iterable
461
+ stringified_values = "," .join (value )
462
+ return self .filter (column , Filters .OV , f"{{{ stringified_values } }}" )
463
+ return self .filter (column , Filters .OV , json .dumps (value ))
457
464
458
465
def sl (self : Self , column : str , range : Tuple [int , int ]) -> Self :
459
466
return self .filter (column , Filters .SL , f"({ range [0 ]} ,{ range [1 ]} )" )
0 commit comments