示例#1
0
 def setdefault(self, key, default=None) -> 'RDict':
     key = RukoClient.parse_key(key)
     new_key = self.concat(self.key, key)
     cur_val = self.rk.get(new_key)
     if cur_val is Empty:
         self.rk.set(new_key, default)
     return self.child(new_key)
示例#2
0
 def create_mapping(self, key, filters) -> 'RDict':
     key = RukoClient.parse_key(key)
     new_key = self.sub_key(key)
     if isinstance(filters, list):
         if filters and isinstance(filters[0], (str, int)):
             if any(isinstance(i, str) and '.' in i for i in filters):
                 filters = [i.split('.') for i in filters]
             else:
                 filters = [filters]
         else:
             pass  # Already in right format
     else:
         if isinstance(filters, str) and '.' in filters:
             filters = [filters.split('.')]
         else:
             filters = [RukoClient.parse_key(filters)]
     for filt in filters:
         self.rk.create_mapping(new_key, filt)
     return self.child(new_key)
示例#3
0
 def get(self, item=None, default=None, fields=None, exclude=None):
     item = RukoClient.parse_key(item)
     val = self.rk.get(self.sub_key(item), fields, exclude)
     if val is Empty:
         return default
     return val
示例#4
0
 def __init__(self, db_key, context: RContext, key_error=KeyError):
     """Typically, you want to use RDict.client() instead"""
     self.key = RukoClient.parse_key(db_key)
     self.context = context
     self.key_error = key_error
示例#5
0
 def __setitem__(self, key, value):
     key = RukoClient.parse_key(key)
     self.rk.set(self.sub_key(key), value)
示例#6
0
 def __delitem__(self, key):
     key = RukoClient.parse_key(key)
     return self.rk.delete(self.sub_key(key))
示例#7
0
 def __getitem__(
         self,
         item: Index) -> Union['RDict', str, int, list, dict, bool, None]:
     item = RukoClient.parse_key(item)
     return self.child(self.sub_key(item))
示例#8
0
 def delete_mapping(self, key):
     key = RukoClient.parse_key(key)
     self.rk.delete_mapping(self.sub_key(key))