|
- # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
- # MIT License. See license.txt
- from __future__ import unicode_literals
-
- import memcache, webnotes
-
- class MClient(memcache.Client):
- """memcache client that will automatically prefix conf.db_name"""
- def n(self, key):
- return (webnotes.conf.db_name + ":" + key.replace(" ", "_")).encode('utf-8')
-
- def set_value(self, key, val):
- self.set(self.n(key), val)
-
- def get_value(self, key, builder=None):
- val = self.get(self.n(key))
- if not val and builder:
- val = builder()
- self.set_value(key, val)
- return val
-
- def delete_value(self, keys):
- if not isinstance(keys, (list, tuple)):
- keys = (keys,)
- for key in keys:
- self.delete(self.n(key))
|