)
age = now - last_modified
if age > freshness_requirement:
- logger.warning(
- f'chooser: "{page}" is too old.'
- )
+ logger.warning(f'chooser: "{page}" is too old.')
continue
- logger.info(
- f'chooser: candidate page: "{page}"'
- )
+ logger.info(f'chooser: candidate page: "{page}"')
filenames.append(page)
return filenames
self.filter_list: List[Callable[[str], bool]] = []
if filter_list is not None:
self.filter_list.extend(filter_list)
- self.filter_list.append(self.dont_choose_page_twice_in_a_row_filter)
-
- def dont_choose_page_twice_in_a_row_filter(self, choice: str) -> bool:
- if self.last_choice is not None and choice == self.last_choice:
- return False
- self.last_choice = choice
- return True
def choose_next_page(self) -> Any:
if self.pages is None or self.count % 100 == 0:
- logger.info('chooser: refreshing the candidate pages list.')
+ logger.info("chooser: refreshing the candidate pages list.")
self.pages = self.get_page_list()
total_weight = 0
if x is not None and len(x) > 0:
for y in x:
self.page_queue.add(y)
- logger.info(f'chooser: noticed active trigger {y}')
+ logger.info(f"chooser: noticed active trigger {y}")
triggered = True
return triggered
def choose_next_page(self) -> Tuple[str, bool]:
if self.pages is None or self.count % 100 == 0:
- logger.info('chooser: refreshing the candidates page list')
+ logger.info("chooser: refreshing the candidates page list")
self.pages = self.get_page_list()
triggered = self.check_for_triggers()
# First try to satisfy from the page queue.
if len(self.page_queue) > 0:
- logger.info('chooser: page queue has entries; pulling choice from there.')
+ logger.info("chooser: page queue has entries; pulling choice from there.")
page = None
priority = None
for t in self.page_queue:
if priority is None or t[1] > priority:
page = t[0]
priority = t[1]
- assert(page is not None)
- assert(priority is not None)
+ assert page is not None
+ assert priority is not None
self.page_queue.remove((page, priority))
return (page, triggered)