new method 'delete' in storage and config
This commit is contained in:
parent
bf754b1859
commit
ebe29a061f
6 changed files with 37 additions and 0 deletions
|
|
@ -44,6 +44,10 @@ class ApplicationStorage(object):
|
|||
if self.storage:
|
||||
return self.storage.set('applications', self.name, *args)
|
||||
|
||||
def delete(self, *args):
|
||||
if self.storage:
|
||||
return self.storage.delete('applications', self.name, *args)
|
||||
|
||||
def get(self, *args, **kwargs):
|
||||
if self.storage:
|
||||
return self.storage.get('applications', self.name, *args, **kwargs)
|
||||
|
|
|
|||
|
|
@ -40,6 +40,10 @@ class BackendStorage(object):
|
|||
if self.storage:
|
||||
return self.storage.set('backends', self.name, *args)
|
||||
|
||||
def delete(self, *args):
|
||||
if self.storage:
|
||||
return self.storage.delete('backends', self.name, *args)
|
||||
|
||||
def get(self, *args, **kwargs):
|
||||
if self.storage:
|
||||
return self.storage.get('backends', self.name, *args, **kwargs)
|
||||
|
|
|
|||
|
|
@ -30,5 +30,8 @@ class IConfig:
|
|||
def set(self, *args):
|
||||
raise NotImplementedError()
|
||||
|
||||
def delete(self, *args):
|
||||
raise NotImplementedError()
|
||||
|
||||
def get(self, *args, **kwargs):
|
||||
raise NotImplementedError()
|
||||
|
|
|
|||
|
|
@ -98,3 +98,11 @@ class INIConfig(IConfig):
|
|||
v[k] = {}
|
||||
v = v[k]
|
||||
v[args[-2]] = args[-1]
|
||||
|
||||
def delete(self, *args):
|
||||
v = self.values
|
||||
for k in args[:-1]:
|
||||
if k not in v:
|
||||
return
|
||||
v = v[k]
|
||||
v.pop(args[-1], None)
|
||||
|
|
|
|||
|
|
@ -93,3 +93,15 @@ class YamlConfig(IConfig):
|
|||
raise ConfigError()
|
||||
|
||||
v[args[-2]] = args[-1]
|
||||
|
||||
def delete(self, *args):
|
||||
v = self.values
|
||||
for a in args[:-1]:
|
||||
try:
|
||||
v = v[a]
|
||||
except KeyError:
|
||||
return
|
||||
except TypeError:
|
||||
raise ConfigError()
|
||||
|
||||
v.pop(args[-1], None)
|
||||
|
|
|
|||
|
|
@ -31,6 +31,9 @@ class IStorage:
|
|||
def set(self, what, name, *args):
|
||||
raise NotImplementedError()
|
||||
|
||||
def delete(self, what, name, *args):
|
||||
raise NotImplementedError()
|
||||
|
||||
def get(self, what, name, *args, **kwargs):
|
||||
raise NotImplementedError()
|
||||
|
||||
|
|
@ -56,5 +59,8 @@ class StandardStorage(IStorage):
|
|||
def set(self, what, name, *args):
|
||||
self.config.set(what, name, *args)
|
||||
|
||||
def delete(self, what, name, *args):
|
||||
self.config.delete(what, name, *args)
|
||||
|
||||
def get(self, what, name, *args, **kwargs):
|
||||
return self.config.get(what, name, *args, **kwargs)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue