from django.apps import AppConfig class OpenEdxTenantApiConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'openedx_tenant_api' verbose_name = 'Open edX Tenant API' def ready(self): # Add URL patterns to LMS urls self._add_url_patterns() def _add_url_patterns(self): """Add tenant API URL patterns to LMS URLconf.""" try: from django.urls import path, include from django.conf import settings import lms.urls # Check if already added url_path = path("api/tenant/", include("openedx_tenant_api.urls", namespace="tenant_api")) # Add to urlpatterns if not already present pattern_exists = False for pattern in lms.urls.urlpatterns: if hasattr(pattern, 'pattern') and pattern.pattern.describe().startswith("'^api/tenant/'"): pattern_exists = True break if not pattern_exists: lms.urls.urlpatterns.append(url_path) except ImportError: # LMS URLs not available (e.g., in CMS) pass except Exception as e: import logging logger = logging.getLogger(__name__) logger.warning(f"Could not add tenant API URLs: {e}")