"""Channels App Configuration

This module contains the Django app configuration for the channels app.
It handles app initialization and signal registration.

The channels app manages:
- TV channel configurations
- Regional settings and zones
- Codec configurations
- Audio jingles
- Provider-specific settings
"""

from django.apps import AppConfig
from django.utils.translation import gettext_lazy as _


class ChannelsConfig(AppConfig):
    """Configuration class for the Channels app.
    
    This class defines the configuration for the channels application,
    including the app name, default auto field, and signal handlers.
    
    Attributes:
        default_auto_field (str): Default primary key field type
        name (str): Full Python path to the application
        verbose_name (str): Human-readable name for the application
    """
    
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'apps.channels'
    verbose_name = _('Channels Management')
    
    def ready(self):
        """Initialize the app when Django starts.
        
        This method is called when the app is ready and Django has
        finished initialization. It imports signal handlers to ensure
        they are registered.
        
        Note:
            This method should not perform any database operations
            as the database might not be ready yet.
        """
        try:
            # Import signal handlers to register them
            from . import signals  # noqa: F401
        except ImportError:
            # Signals module doesn't exist yet, which is fine
            # during initial setup
            pass