import time
from typing import Any, Callable, List, Optional, Set, Tuple
+from pyutils import logging_utils
from pyutils.datetimes import datetime_utils
import kiosk_constants
import trigger
-logger = logging.getLogger(__file__)
+logger = logging.getLogger(__name__)
class chooser(ABC):
def __init__(self):
pass
+ @logging_utils.LoggingContext(logger, prefix="chooser:")
def get_page_list(self) -> List[str]:
now = time.time()
valid_filename = re.compile("([^_]+)_(\d+)_([^\.]+)\.html")
)
age = now - last_modified
if age > freshness_requirement:
- logger.warning(f'chooser: "{page}" is too old.')
+ logger.warning(f'"{page}" is too old.')
continue
- logger.info(f'chooser: candidate page: "{page}"')
+ logger.info(f'candidate page: "{page}"')
filenames.append(page)
return filenames
if filter_list is not None:
self.filter_list.extend(filter_list)
+ @logging_utils.LoggingContext(logger, prefix="chooser:")
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("refreshing the candidate pages list.")
self.pages = self.get_page_list()
total_weight = 0
self.trigger_list.extend(trigger_list)
self.page_queue: Set[Tuple[str, int]] = set(())
+ @logging_utils.LoggingContext(logger, prefix="chooser:")
def check_for_triggers(self) -> bool:
triggered = False
for t in self.trigger_list:
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"noticed active trigger {y}")
triggered = True
return triggered
+ @logging_utils.LoggingContext(logger, prefix="chooser:")
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("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("page queue has entries; pulling choice from there.")
page = None
priority = None
for t in self.page_queue: