Files
plugins/openedx-tenant-api/openedx_tenant_api/apps.py
DamarKusumo 2b7027e37d Add openedx-tenant-api plugin
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 08:20:57 +07:00

39 lines
1.3 KiB
Python

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}")