refacto(storage): use '@abstractmethod' instead of 'raise NotImplementedError' in Storage Interface (#61)
This commit is contained in:
parent
be6b60847b
commit
483ff455e7
@ -2,44 +2,45 @@ import time
|
|||||||
from itertools import takewhile
|
from itertools import takewhile
|
||||||
import operator
|
import operator
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
|
from abc import abstractmethod, ABC
|
||||||
|
|
||||||
|
|
||||||
class IStorage:
|
class IStorage(ABC):
|
||||||
"""
|
"""
|
||||||
Local storage for this node.
|
Local storage for this node.
|
||||||
IStorage implementations of get must return the same type as put in by set
|
IStorage implementations of get must return the same type as put in by set
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
def __setitem__(self, key, value):
|
def __setitem__(self, key, value):
|
||||||
"""
|
"""
|
||||||
Set a key to the given value.
|
Set a key to the given value.
|
||||||
"""
|
"""
|
||||||
raise NotImplementedError
|
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
def __getitem__(self, key):
|
def __getitem__(self, key):
|
||||||
"""
|
"""
|
||||||
Get the given key. If item doesn't exist, raises C{KeyError}
|
Get the given key. If item doesn't exist, raises C{KeyError}
|
||||||
"""
|
"""
|
||||||
raise NotImplementedError
|
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
def get(self, key, default=None):
|
def get(self, key, default=None):
|
||||||
"""
|
"""
|
||||||
Get given key. If not found, return default.
|
Get given key. If not found, return default.
|
||||||
"""
|
"""
|
||||||
raise NotImplementedError
|
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
def iter_older_than(self, seconds_old):
|
def iter_older_than(self, seconds_old):
|
||||||
"""
|
"""
|
||||||
Return the an iterator over (key, value) tuples for items older
|
Return the an iterator over (key, value) tuples for items older
|
||||||
than the given secondsOld.
|
than the given secondsOld.
|
||||||
"""
|
"""
|
||||||
raise NotImplementedError
|
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
def __iter__(self):
|
def __iter__(self):
|
||||||
"""
|
"""
|
||||||
Get the iterator for this storage, should yield tuple of (key, value)
|
Get the iterator for this storage, should yield tuple of (key, value)
|
||||||
"""
|
"""
|
||||||
raise NotImplementedError
|
|
||||||
|
|
||||||
|
|
||||||
class ForgetfulStorage(IStorage):
|
class ForgetfulStorage(IStorage):
|
||||||
|
Loading…
Reference in New Issue
Block a user