# -*- coding: utf-8 -*-

from django.apps import AppConfig
import logging

logger = logging.getLogger(__name__)


class CampaignsConfig(AppConfig):
    """
    Django application configuration for the Campaigns app.
    
    This app manages advertising campaigns, including campaign creation,
    targeting, budget management, creative assets, and performance tracking.
    """
    
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'apps.campaigns'
    label = 'campaigns'
    verbose_name = 'Campaigns & Ad Management'
    
    def ready(self):
        """
        Perform initialization when the app is ready.
        
        This method is called when Django starts up and the app is ready.
        It imports signal handlers and performs any necessary setup.
        """
        try:
            # Import signal handlers
            from . import signals
            
            logger.info(f"Campaigns app '{self.verbose_name}' initialized successfully")
            
        except ImportError as e:
            logger.warning(f"Could not import signals for campaigns app: {e}")
        except Exception as e:
            logger.error(f"Error initializing campaigns app: {e}")