X-Git-Url: http://dolda2000.com/gitweb/?p=didex.git;a=blobdiff_plain;f=didex%2Fvalues.py;h=c2b6d1ff2e82f1e58ef1cb68356bbe77a8647713;hp=8479d4214086f63539315f05206d0ebd820d0400;hb=177fbee6346cbe47e3ac689814fc34f8b75e186a;hpb=d6d41a45b2882bf919cd7702d7590ead03e9d590 diff --git a/didex/values.py b/didex/values.py index 8479d42..c2b6d1f 100644 --- a/didex/values.py +++ b/didex/values.py @@ -113,6 +113,17 @@ class compound(base): self.parts = parts self.iattr = "__idx_%s_cur" % name + def minim(self, *parts): + return self.typ.minim(*parts) + def maxim(self, *parts): + return self.typ.maxim(*parts) + + def get(self, *, partial=None, **spec): + if partial is not None: + return super().get(ge=self.minim(*partial), le = self.maxim(*partial), **spec) + else: + return super().get(**spec) + def register(self, id, obj, tx): val = tuple(part.__get__(obj, None) for part in self.parts) self.index().put(val, id, tx=tx)