@@ -230,6 +230,18 @@ def flushdb(self):
230
230
self .pubsub .clear ()
231
231
self .timeouts .clear ()
232
232
233
+ def rename (self , old_key , new_key ):
234
+ return self ._rename (old_key , new_key )
235
+
236
+ def renamenx (self , old_key , new_key ):
237
+ return 1 if self ._rename (old_key , new_key , True ) else 0
238
+
239
+ def _rename (self , old_key , new_key , nx = False ):
240
+ if old_key in self .redis and (not nx or new_key not in self .redis ):
241
+ self .redis [new_key ] = self .redis .pop (old_key )
242
+ return True
243
+ return False
244
+
233
245
#### String Functions ####
234
246
235
247
def get (self , key ):
@@ -830,6 +842,8 @@ def value_function():
830
842
831
843
def sadd (self , key , * values ):
832
844
"""Emulate sadd."""
845
+ if len (values ) == 0 :
846
+ raise ResponseError ("wrong number of arguments for 'sadd' command" )
833
847
redis_set = self ._get_set (key , 'SADD' , create = True )
834
848
before_count = len (redis_set )
835
849
redis_set .update (map (str , values ))
@@ -1368,6 +1382,7 @@ def _score_inclusive(self, score):
1368
1382
return False , float (score [1 :])
1369
1383
return True , float (score )
1370
1384
1385
+
1371
1386
def get_total_seconds (td ):
1372
1387
"""
1373
1388
For python 2.6 support
0 commit comments