- Deleted `app_new.py`, which was previously the main entry point for the dashboard application, to streamline the codebase. - Consolidated the application initialization and callback registration logic into `main.py`, enhancing modularity and maintainability. - Updated the logging and error handling practices in `main.py` to ensure consistent application behavior and improved debugging capabilities. These changes simplify the application structure, aligning with project standards for modularity and maintainability.
63 lines
2.9 KiB
Python
63 lines
2.9 KiB
Python
import json
|
|
import os
|
|
import logging
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
def load_time_range_options():
|
|
"""Loads time range options from a JSON file.
|
|
|
|
Returns:
|
|
list: A list of dictionaries, each representing a time range option.
|
|
"""
|
|
try:
|
|
# Construct path relative to the workspace root
|
|
# Assuming utils is at TCPDashboard/utils
|
|
# and config/options is at TCPDashboard/config/options
|
|
base_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
|
|
file_path = os.path.join(base_dir, 'config/options/time_range_options.json')
|
|
|
|
with open(file_path, 'r', encoding='utf-8') as f:
|
|
return json.load(f)
|
|
except FileNotFoundError:
|
|
logger.error(f"Time range options file not found at {file_path}. Using default.")
|
|
return [
|
|
{"label": "🕐 Last 1 Hour", "value": "1h"},
|
|
{"label": "🕐 Last 4 Hours", "value": "4h"},
|
|
{"label": "🕐 Last 6 Hours", "value": "6h"},
|
|
{"label": "🕐 Last 12 Hours", "value": "12h"},
|
|
{"label": "📅 Last 1 Day", "value": "1d"},
|
|
{"label": "📅 Last 3 Days", "value": "3d"},
|
|
{"label": "📅 Last 7 Days", "value": "7d"},
|
|
{"label": "📅 Last 30 Days", "value": "30d"},
|
|
{"label": "📅 Custom Range", "value": "custom"},
|
|
{"label": "🔴 Real-time", "value": "realtime"}
|
|
]
|
|
except json.JSONDecodeError:
|
|
logger.error(f"Error decoding JSON from {file_path}. Using default.")
|
|
return [
|
|
{"label": "🕐 Last 1 Hour", "value": "1h"},
|
|
{"label": "🕐 Last 4 Hours", "value": "4h"},
|
|
{"label": "🕐 Last 6 Hours", "value": "6h"},
|
|
{"label": "🕐 Last 12 Hours", "value": "12h"},
|
|
{"label": "📅 Last 1 Day", "value": "1d"},
|
|
{"label": "📅 Last 3 Days", "value": "3d"},
|
|
{"label": "📅 Last 7 Days", "value": "7d"},
|
|
{"label": "📅 Last 30 Days", "value": "30d"},
|
|
{"label": "📅 Custom Range", "value": "custom"},
|
|
{"label": "🔴 Real-time", "value": "realtime"}
|
|
]
|
|
except Exception as e:
|
|
logger.error(f"An unexpected error occurred while loading time range options: {e}. Using default.")
|
|
return [
|
|
{"label": "🕐 Last 1 Hour", "value": "1h"},
|
|
{"label": "🕐 Last 4 Hours", "value": "4h"},
|
|
{"label": "🕐 Last 6 Hours", "value": "6h"},
|
|
{"label": "🕐 Last 12 Hours", "value": "12h"},
|
|
{"label": "📅 Last 1 Day", "value": "1d"},
|
|
{"label": "📅 Last 3 Days", "value": "3d"},
|
|
{"label": "📅 Last 7 Days", "value": "7d"},
|
|
{"label": "📅 Last 30 Days", "value": "30d"},
|
|
{"label": "📅 Custom Range", "value": "custom"},
|
|
{"label": "🔴 Real-time", "value": "realtime"}
|
|
] |