Fix logging and remove cruft.
[kiosk.git] / chooser.py
index 91746bdb3174067713fbe495e834a3e73bd78db9..b83710e17f5ad32a6f0b8dd44bccd99d9c36ef92 100644 (file)
@@ -8,13 +8,14 @@ import re
 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):
@@ -23,6 +24,7 @@ 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")
@@ -42,9 +44,9 @@ class chooser(ABC):
                     )
                     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
 
@@ -66,9 +68,10 @@ class weighted_random_chooser(chooser):
         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
@@ -119,6 +122,7 @@ class weighted_random_chooser_with_triggers(weighted_random_chooser):
             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:
@@ -126,20 +130,21 @@ class weighted_random_chooser_with_triggers(weighted_random_chooser):
             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: