|  |  |  | @ -31,10 +31,14 @@ cdef class Params: | 
			
		
	
		
			
				
					|  |  |  |  |   cdef c_Params* p | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   def __cinit__(self, d=None, bool persistent_params=False): | 
			
		
	
		
			
				
					|  |  |  |  |     cdef string path | 
			
		
	
		
			
				
					|  |  |  |  |     if d is None: | 
			
		
	
		
			
				
					|  |  |  |  |       self.p = new c_Params(persistent_params) | 
			
		
	
		
			
				
					|  |  |  |  |       with nogil: | 
			
		
	
		
			
				
					|  |  |  |  |         self.p = new c_Params(persistent_params) | 
			
		
	
		
			
				
					|  |  |  |  |     else: | 
			
		
	
		
			
				
					|  |  |  |  |       self.p = new c_Params(<string>d.encode()) | 
			
		
	
		
			
				
					|  |  |  |  |       path = <string>d.encode() | 
			
		
	
		
			
				
					|  |  |  |  |       with nogil: | 
			
		
	
		
			
				
					|  |  |  |  |         self.p = new c_Params(path) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   def __dealloc__(self): | 
			
		
	
		
			
				
					|  |  |  |  |     del self.p | 
			
		
	
	
		
			
				
					|  |  |  | @ -53,13 +57,12 @@ cdef class Params: | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     return key | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   def get(self, key, block=False, encoding=None): | 
			
		
	
		
			
				
					|  |  |  |  |   def get(self, key, bool block=False, encoding=None): | 
			
		
	
		
			
				
					|  |  |  |  |     cdef string k = self.check_key(key) | 
			
		
	
		
			
				
					|  |  |  |  |     cdef bool b = block | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     cdef string val | 
			
		
	
		
			
				
					|  |  |  |  |     with nogil: | 
			
		
	
		
			
				
					|  |  |  |  |       val = self.p.get(k, b) | 
			
		
	
		
			
				
					|  |  |  |  |       val = self.p.get(k, block) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     if val == b"": | 
			
		
	
		
			
				
					|  |  |  |  |       if block: | 
			
		
	
	
		
			
				
					|  |  |  | @ -76,7 +79,10 @@ cdef class Params: | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   def get_bool(self, key): | 
			
		
	
		
			
				
					|  |  |  |  |     cdef string k = self.check_key(key) | 
			
		
	
		
			
				
					|  |  |  |  |     return self.p.getBool(k) | 
			
		
	
		
			
				
					|  |  |  |  |     cdef bool r | 
			
		
	
		
			
				
					|  |  |  |  |     with nogil: | 
			
		
	
		
			
				
					|  |  |  |  |       r = self.p.getBool(k) | 
			
		
	
		
			
				
					|  |  |  |  |     return r | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   def put(self, key, dat): | 
			
		
	
		
			
				
					|  |  |  |  |     """ | 
			
		
	
	
		
			
				
					|  |  |  | @ -86,16 +92,19 @@ cdef class Params: | 
			
		
	
		
			
				
					|  |  |  |  |     in general try to avoid writing params as much as possible. | 
			
		
	
		
			
				
					|  |  |  |  |     """ | 
			
		
	
		
			
				
					|  |  |  |  |     cdef string k = self.check_key(key) | 
			
		
	
		
			
				
					|  |  |  |  |     dat = ensure_bytes(dat) | 
			
		
	
		
			
				
					|  |  |  |  |     self.p.put(k, dat) | 
			
		
	
		
			
				
					|  |  |  |  |     cdef string dat_bytes = ensure_bytes(dat) | 
			
		
	
		
			
				
					|  |  |  |  |     with nogil: | 
			
		
	
		
			
				
					|  |  |  |  |       self.p.put(k, dat_bytes) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   def put_bool(self, key, val): | 
			
		
	
		
			
				
					|  |  |  |  |   def put_bool(self, key, bool val): | 
			
		
	
		
			
				
					|  |  |  |  |     cdef string k = self.check_key(key) | 
			
		
	
		
			
				
					|  |  |  |  |     self.p.putBool(k, val) | 
			
		
	
		
			
				
					|  |  |  |  |     with nogil: | 
			
		
	
		
			
				
					|  |  |  |  |       self.p.putBool(k, val) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   def delete(self, key): | 
			
		
	
		
			
				
					|  |  |  |  |     cdef string k = self.check_key(key) | 
			
		
	
		
			
				
					|  |  |  |  |     self.p.remove(k) | 
			
		
	
		
			
				
					|  |  |  |  |     with nogil: | 
			
		
	
		
			
				
					|  |  |  |  |       self.p.remove(k) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | def put_nonblocking(key, val, d=None): | 
			
		
	
	
		
			
				
					|  |  |  | 
 |