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()
|