# -*- coding: utf-8 -*-
"""
Advertisers App Configuration

Django app configuration for the Advertisers application.
Handles app initialization, signal connections, and app metadata.
"""

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


class AdvertisersConfig(AppConfig):
    """
    Configuration class for the Advertisers Django application.
    
    This class defines the app configuration including:
    - App name and label
    - Default auto field configuration
    - Signal handler registration
    - App metadata
    """
    
    # Default auto field type for models in this app
    default_auto_field = 'django.db.models.BigAutoField'
    
    # App name as it appears in Django
    name = 'apps.advertisers'
    
    # Human-readable app label
    label = 'advertisers'
    
    # Verbose name for admin interface
    verbose_name = _('Advertisers & Agencies')
    
    def ready(self):
        """
        Called when Django starts up.
        
        This method is called once Django has loaded all models.
        It's used to register signal handlers and perform any
        app-specific initialization.
        """
        try:
            # Import signal handlers to register them
            from . import signals  # noqa: F401
        except ImportError:
            # Signals module doesn't exist yet, skip
            pass
            
        # Log app initialization
        import logging
        logger = logging.getLogger(__name__)
        logger.info(f"Advertisers app '{self.name}' initialized successfully")