Source code for scrolls.models.filter



[docs]class Filter(object): KEYS = ('app', 'hostname') def __init__(self, parent, segment=None): self.resolvable = False self.isKey = False if segment: if segment in self.KEYS: self.isKey = True else: self.resolvable = True self.__name__ = segment or 'filter' self.__parent__ = parent self.path = parent.path + (segment,) if segment else () def __getitem__(self, key): if self.isKey or key in self.KEYS: return Filter(parent=self, segment=key) else: raise KeyError
[docs] def getFilter(self): return self
[docs] def accepts(self, message): if len(self.path) < 2: return True mdict = message.toDict() if self.path[1] == mdict.get(self.path[0]): return True return False