我有一个版本控制的文档存储,我想通过dict类的接口访问它。 常见的用法是访问最新的修订版(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
这个解决方案有点棘手,我不确定它是否是一个干净、可理解的接口。我应该提供一个功能吗
^{pr2}$相反呢?在
是的,提供不同的API来获取不同的版本。一个用于检索特定修订的特定项的方法调用,或者用于获取特定修订的“视图”的方法调用,然后可以像普通dict一样访问该视图,具体取决于这样的“视图”是否有多大用处。或者两者兼而有之,考虑到dict-view解决方案,无论如何都需要某种方法来获得特定修订的条目:
相关问题 更多 >
编程相关推荐