Some checks failed
Build Worker Base and Application Images / check-base-changes (push) Successful in 7s
Build Worker Base and Application Images / build-base (push) Successful in 10m17s
Build Worker Base and Application Images / build-docker (push) Successful in 3m54s
Build Worker Base and Application Images / deploy-stack (push) Has been cancelled
- Removed the existing `readers.py` file and created separate modules for `FFmpegRTSPReader`, `HTTPSnapshotReader`, and utility functions. - Introduced an abstract base class `VideoReader` to standardize the interface for video stream readers. - Updated `FFmpegRTSPReader` and `HTTPSnapshotReader` to inherit from `VideoReader` and implement required methods. - Enhanced logging utilities for better readability and maintainability. - Removed `pycuda` from requirements as it is no longer needed.
38 lines
No EOL
1 KiB
Python
38 lines
No EOL
1 KiB
Python
"""
|
|
Utility functions for stream readers.
|
|
"""
|
|
import logging
|
|
import os
|
|
|
|
# Keep OpenCV errors visible but allow FFmpeg stderr logging
|
|
os.environ["OPENCV_LOG_LEVEL"] = "ERROR"
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
# Color codes for pretty logging
|
|
class Colors:
|
|
GREEN = '\033[92m'
|
|
YELLOW = '\033[93m'
|
|
RED = '\033[91m'
|
|
BLUE = '\033[94m'
|
|
PURPLE = '\033[95m'
|
|
CYAN = '\033[96m'
|
|
WHITE = '\033[97m'
|
|
BOLD = '\033[1m'
|
|
END = '\033[0m'
|
|
|
|
def log_success(camera_id: str, message: str):
|
|
"""Log success messages in green"""
|
|
logger.info(f"{Colors.GREEN}[{camera_id}] {message}{Colors.END}")
|
|
|
|
def log_warning(camera_id: str, message: str):
|
|
"""Log warnings in yellow"""
|
|
logger.warning(f"{Colors.YELLOW}[{camera_id}] {message}{Colors.END}")
|
|
|
|
def log_error(camera_id: str, message: str):
|
|
"""Log errors in red"""
|
|
logger.error(f"{Colors.RED}[{camera_id}] {message}{Colors.END}")
|
|
|
|
def log_info(camera_id: str, message: str):
|
|
"""Log info in cyan"""
|
|
logger.info(f"{Colors.CYAN}[{camera_id}] {message}{Colors.END}") |