storage: add unset() method
This commit is contained in:
parent
0830f7d08e
commit
38a784a0a2
4 changed files with 16 additions and 0 deletions
|
|
@ -69,6 +69,11 @@ class StoragePickleProviderTestCase(unittest.TestCase):
|
|||
self.assertEqual("value2", provider.get("ns1", "opt2"))
|
||||
self.assertEqual("value3", provider.get("ns2", "opt1"))
|
||||
|
||||
provider.unset("ns1", "opt1")
|
||||
|
||||
self.assertIsNone(provider.get("ns1", "opt1"))
|
||||
self.assertEqual("value2", provider.get("ns1", "opt2"))
|
||||
|
||||
provider.clear()
|
||||
|
||||
self.assertIsNone(provider.get("ns1", "opt1"))
|
||||
|
|
|
|||
|
|
@ -9,6 +9,9 @@ class Provider(object):
|
|||
def get(self, namespace, option, default=None):
|
||||
raise NotImplementedError()
|
||||
|
||||
def unset(self, namespace, option):
|
||||
raise NotImplementedError()
|
||||
|
||||
def clear(self):
|
||||
raise NotImplementedError()
|
||||
|
||||
|
|
|
|||
|
|
@ -24,6 +24,11 @@ class PickleProvider(interfaces.Provider):
|
|||
self._data.setdefault(namespace, {})
|
||||
return self._data[namespace].get(option, default)
|
||||
|
||||
def unset(self, namespace, option):
|
||||
self._data.setdefault(namespace, {})
|
||||
if option in self._data[namespace]:
|
||||
del self._data[namespace][option]
|
||||
|
||||
def save(self):
|
||||
try:
|
||||
log.debug("Saving %s" % str(self._data))
|
||||
|
|
|
|||
|
|
@ -10,3 +10,6 @@ class Storage(object):
|
|||
|
||||
def get(self, option, default=None):
|
||||
return self._storage_provider.get(self._namespace, option, default)
|
||||
|
||||
def unset(self, option):
|
||||
self._storage_provider.unset(self._namespace, option)
|
||||
|
|
|
|||
Loading…
Reference in a new issue