diff --git a/mpi/scanned_days_manager.py b/mpi/scanned_days_manager.py index b4d23c3f5a2604fd81ceb4e58969a9cea0e89bba..00d247efa723b2fc3a6e486a6c4498b71cf10727 100644 --- a/mpi/scanned_days_manager.py +++ b/mpi/scanned_days_manager.py @@ -24,12 +24,13 @@ class ScannedDaysManager(object): del container[chunk] def __filter(self, mydict, chunk_filter, template_filter): - if template_filter is None: - chunks = set(mydict.keys()) - else: + chunks = set(mydict.keys()) + if chunk_filter is not None: + chunks &= set(chunk_filter) + if template_filter is not None: template_filter = set(template_filter) - chunks = { c for c, t_set in mydict.items() if t_set & template_filter } - return chunks if chunk_filter is None else set(chunk_filter) & chunks + chunks = { c for c in chunks if mydict[c] & template_filter } + return chunks def add_chunk_to_process(self, chunk): if chunk not in self.chunks: