145 |
145 |
146 def addExclude(self, filter): |
146 def addExclude(self, filter): |
147 self.exc.add(filter) |
147 self.exc.add(filter) |
148 |
148 |
149 def include(self, results): |
149 def include(self, results): |
150 res = dbrresults.DBRResults(set(),set(),set(),set(),set()) |
|
151 if self.inc: |
150 if self.inc: |
|
151 res = dbrresults.DBRResults(set(),set(),set(),set(),set()) |
152 for filter in self.inc: |
152 for filter in self.inc: |
153 res |= filter.include(results) |
153 res |= filter.include(results) |
|
154 else: |
|
155 res = results |
154 return res |
156 return res |
155 |
157 |
156 def exclude(self, results): |
158 def exclude(self, results): |
157 res = results |
159 res = dbrresults.DBRResults(set(),set(),set(),set(),set()) |
158 if self.exc: |
160 if self.exc: |
|
161 res = results |
159 for filter in self.exc: |
162 for filter in self.exc: |
160 res &= filter.exclude(results) |
163 res &= filter.exclude(results) |
161 return res |
164 return res |
162 |
165 |
163 def filter(self, results): |
166 def filter(self, results): |
164 return self.include(results) | self.exclude(results) |
167 return self.include(results) & self.exclude(results) |
165 |
168 |
166 |
169 |