1
我有一個版本化的文檔商店,我想通過字典接口訪問。 常見用法是訪問最新版本(get,set,del),但也應該能夠訪問特定的修訂版本(鍵總是str/unicode或int)。版本化字典的接口
from UserDict import DictMixin
class VDict(DictMixin):
def __getitem__(self, key):
if isinstance(key, tuple):
docid, rev = key
else:
docid = key
rev = None # set to tip rev
print docid, rev
# return ...
In [1]: d = VDict()
In [2]: d[2]
2 None
In [3]: d[2, 1]
2 1
這個解決方案有點棘手,我不確定它是否是一個乾淨的,可以理解的界面。我是否應該提供功能
def getrev(self, docid, rev):
...
改爲?
萬一有人來到這裏尋找一個版本的字典 - 我上傳一個工作版本的github早些時候周:github.com/jsbueno/extradict - 和上傳的「extradict」到pypi(關於這個問題,我使用.get與命名的版本參數能夠檢索舊的屬性版本) – jsbueno 2016-05-27 06:02:32