33 lines
875 B
Python
33 lines
875 B
Python
from django.urls import path, include
|
|
from django.utils.module_loading import autodiscover_modules
|
|
|
|
from rest_framework import routers
|
|
|
|
|
|
class GASDRFSite:
|
|
def __init__(self):
|
|
self._registry = {}
|
|
self.autodiscover_done = False
|
|
self.router = routers.DefaultRouter()
|
|
|
|
def register(self, *args, **kwargs):
|
|
"""
|
|
Register urls to the site router. Compared to normal urls,
|
|
these are not exposed when gas is not active.
|
|
|
|
It takes the same arguments as DefaultRouter.register.
|
|
"""
|
|
self.router.register(*args, **kwargs)
|
|
|
|
@property
|
|
def urls(self):
|
|
return self.router.urls
|
|
|
|
def autodiscover(self):
|
|
if not self.autodiscover_done:
|
|
autodiscover_modules('gas.drf_config', register_to=drfsite)
|
|
self.autodiscover_done = True
|
|
|
|
|
|
drfsite = GASDRFSite()
|