Change the way API endpoints are registered

This commit is contained in:
Roberto Rosario
2014-07-08 17:11:55 -04:00
parent 85255207cb
commit 0d0f7be532
4 changed files with 27 additions and 10 deletions

View File

@@ -1,5 +1,7 @@
from __future__ import absolute_import
from django.conf.urls import include, patterns, url
class EndPoint(object):
_registry = {}
@@ -28,3 +30,11 @@ class EndPoint(object):
'urlpattern': urlpattern,
}
)
def register_urls(self, urlpatterns):
from .urls import version_0_endpoints_urlpatterns
endpoint_urls = patterns('',
url(r'^%s/' % self.name, include(urlpatterns)),
)
version_0_endpoints_urlpatterns += endpoint_urls

View File

@@ -2,7 +2,7 @@ from __future__ import absolute_import
from django.conf.urls import include, patterns, url
from .classes import EndPoint
#from .classes import EndPoint
from .views import APIBase, Version_0, EndPointView
version_0_endpoints_urlpatterns = patterns('',
@@ -10,6 +10,7 @@ version_0_endpoints_urlpatterns = patterns('',
url(r'^(?P<endpoint_name>\w+)$', EndPointView.as_view(), name='api-version-0-endpoint'),
)
"""
for endpoint in EndPoint.get_all():
endpoint_urlpatterns = patterns('')
@@ -17,6 +18,7 @@ for endpoint in EndPoint.get_all():
endpoint_urlpatterns += patterns('', service['urlpattern'])
version_0_endpoints_urlpatterns += patterns('', url(r'^%s/' % endpoint.name, include(endpoint_urlpatterns)))
"""
urlpatterns = patterns('',
url(r'^$', APIBase.as_view(), name='api-root'),