Spaces:
Sleeping
Sleeping
| """ | |
| Logging helper functions for consistent, centralized log formatting. | |
| This module provides helper functions to reduce verbose multi-line logging | |
| statements in the main code, improving readability while maintaining | |
| detailed log output. | |
| """ | |
| import logging | |
| from typing import List, Optional, TYPE_CHECKING | |
| if TYPE_CHECKING: | |
| from tracking import PlayEvent | |
| def log_flag_plays(flag_plays: List["PlayEvent"], logger_instance: logging.Logger) -> None: | |
| """ | |
| Log details of FLAG plays in a consistent format. | |
| Args: | |
| flag_plays: List of FLAG PlayEvent objects to log | |
| logger_instance: Logger to use for output | |
| """ | |
| for fp in flag_plays: | |
| logger_instance.info( | |
| " FLAG: %.1fs - %.1fs (duration=%.1fs)", | |
| fp.start_time, | |
| fp.end_time, | |
| fp.end_time - fp.start_time, | |
| ) | |
| def log_play_complete(play: "PlayEvent", method: str, logger_instance: logging.Logger) -> None: | |
| """ | |
| Log when a play is completed (via backward calc or capped). | |
| Replaces 7-line logging blocks like: | |
| logger.info( | |
| "Play #%d complete (backward calc, %s): %.1fs - %.1fs (duration: %.1fs)", | |
| play.play_number, play.play_type, play.start_time, play.end_time, | |
| play.end_time - play.start_time, | |
| ) | |
| Args: | |
| play: The completed PlayEvent | |
| method: Completion method ("backward_calc" or "capped") | |
| logger_instance: Logger to use for output | |
| """ | |
| logger_instance.info( | |
| "Play #%d complete (%s, %s): %.1fs - %.1fs (duration: %.1fs)", | |
| play.play_number, | |
| method, | |
| play.play_type, | |
| play.start_time, | |
| play.end_time, | |
| play.end_time - play.start_time, | |
| ) | |
| def log_play_created( | |
| play: "PlayEvent", | |
| play_type: str, | |
| logger_instance: logging.Logger, | |
| extra_info: Optional[str] = None, | |
| ) -> None: | |
| """ | |
| Log when a play is created (timeout, special, turnover, etc.). | |
| Replaces 6-7 line logging blocks like: | |
| logger.info( | |
| "Play #%d created (special): %.1fs - %.1fs (duration: %.1fs, end_method: %s)", | |
| play.play_number, play.start_time, play.end_time, | |
| play.end_time - play.start_time, end_method, | |
| ) | |
| Args: | |
| play: The created PlayEvent | |
| play_type: Type description ("timeout, home", "special", "normal, turnover") | |
| logger_instance: Logger to use for output | |
| extra_info: Optional additional info to append (e.g., end_method) | |
| """ | |
| duration = play.end_time - play.start_time | |
| if extra_info: | |
| logger_instance.info( | |
| "Play #%d created (%s): %.1fs - %.1fs (duration: %.1fs, %s)", | |
| play.play_number, | |
| play_type, | |
| play.start_time, | |
| play.end_time, | |
| duration, | |
| extra_info, | |
| ) | |
| else: | |
| logger_instance.info( | |
| "Play #%d created (%s): %.1fs - %.1fs (duration: %.1fs)", | |
| play.play_number, | |
| play_type, | |
| play.start_time, | |
| play.end_time, | |
| duration, | |
| ) | |