Spaces:
Sleeping
Sleeping
| """ | |
| Services package for EmotionMirror application. | |
| Contains modular services for image processing, model management and emotion analysis. | |
| """ | |
| import logging | |
| from config import settings | |
| from services.emotion_service import EmotionService | |
| # Import DeepFaceEmotionService conditionally to avoid errors if deepface isn't installed | |
| try: | |
| from services.deepface_emotion_service import DeepFaceEmotionService, DEEPFACE_AVAILABLE | |
| except ImportError: | |
| logging.warning("DeepFaceEmotionService could not be imported. Advanced emotion detection will be unavailable.") | |
| DeepFaceEmotionService = None | |
| DEEPFACE_AVAILABLE = False | |
| def get_emotion_service(): | |
| """ | |
| Factory function that returns the appropriate emotion service based on configuration. | |
| Returns: | |
| EmotionService: The configured emotion service (basic or advanced) | |
| """ | |
| # Choose between basic and advanced emotion service based on configuration | |
| if settings.USE_ADVANCED_EMOTION and DEEPFACE_AVAILABLE and DeepFaceEmotionService is not None: | |
| try: | |
| # Simplemente intentamos crear el servicio avanzado | |
| logging.info("Using advanced emotion detection with DeepFace") | |
| return DeepFaceEmotionService() | |
| except Exception as e: | |
| logging.error(f"Error initializing DeepFaceEmotionService: {e}") | |
| logging.warning("Falling back to basic emotion service") | |
| # Fall back to basic emotion service | |
| logging.info("Using basic emotion service") | |
| return EmotionService() | |