Change the way API endpoints are registered
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
|
from django.conf.urls import include, patterns, url
|
||||||
|
|
||||||
|
|
||||||
class EndPoint(object):
|
class EndPoint(object):
|
||||||
_registry = {}
|
_registry = {}
|
||||||
@@ -28,3 +30,11 @@ class EndPoint(object):
|
|||||||
'urlpattern': urlpattern,
|
'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
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ from __future__ import absolute_import
|
|||||||
|
|
||||||
from django.conf.urls import include, patterns, url
|
from django.conf.urls import include, patterns, url
|
||||||
|
|
||||||
from .classes import EndPoint
|
#from .classes import EndPoint
|
||||||
from .views import APIBase, Version_0, EndPointView
|
from .views import APIBase, Version_0, EndPointView
|
||||||
|
|
||||||
version_0_endpoints_urlpatterns = patterns('',
|
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'),
|
url(r'^(?P<endpoint_name>\w+)$', EndPointView.as_view(), name='api-version-0-endpoint'),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
"""
|
||||||
for endpoint in EndPoint.get_all():
|
for endpoint in EndPoint.get_all():
|
||||||
endpoint_urlpatterns = patterns('')
|
endpoint_urlpatterns = patterns('')
|
||||||
|
|
||||||
@@ -17,6 +18,7 @@ for endpoint in EndPoint.get_all():
|
|||||||
endpoint_urlpatterns += patterns('', service['urlpattern'])
|
endpoint_urlpatterns += patterns('', service['urlpattern'])
|
||||||
|
|
||||||
version_0_endpoints_urlpatterns += patterns('', url(r'^%s/' % endpoint.name, include(endpoint_urlpatterns)))
|
version_0_endpoints_urlpatterns += patterns('', url(r'^%s/' % endpoint.name, include(endpoint_urlpatterns)))
|
||||||
|
"""
|
||||||
|
|
||||||
urlpatterns = patterns('',
|
urlpatterns = patterns('',
|
||||||
url(r'^$', APIBase.as_view(), name='api-root'),
|
url(r'^$', APIBase.as_view(), name='api-root'),
|
||||||
|
|||||||
@@ -6,7 +6,10 @@ from common.utils import encapsulate
|
|||||||
from documents.models import Document
|
from documents.models import Document
|
||||||
from navigation.api import register_links, register_model_list_columns
|
from navigation.api import register_links, register_model_list_columns
|
||||||
from project_setup.api import register_setup
|
from project_setup.api import register_setup
|
||||||
|
from rest_api.classes import EndPoint
|
||||||
|
|
||||||
|
from .api import (APIStagingSourceListView, APIStagingSourceView,
|
||||||
|
APIStagingSourceFileView, APIStagingSourceFileImageView)
|
||||||
from .classes import StagingFile
|
from .classes import StagingFile
|
||||||
from .links import (document_create_multiple, document_create_siblings,
|
from .links import (document_create_multiple, document_create_siblings,
|
||||||
staging_file_delete, setup_sources, setup_web_form_list,
|
staging_file_delete, setup_sources, setup_web_form_list,
|
||||||
@@ -17,6 +20,7 @@ from .links import (document_create_multiple, document_create_siblings,
|
|||||||
upload_version)
|
upload_version)
|
||||||
from .models import (WebForm, StagingFolder, SourceTransformation,
|
from .models import (WebForm, StagingFolder, SourceTransformation,
|
||||||
WatchFolder)
|
WatchFolder)
|
||||||
|
from .urls import api_urls
|
||||||
from .widgets import staging_file_thumbnail
|
from .widgets import staging_file_thumbnail
|
||||||
|
|
||||||
register_links([StagingFile], [staging_file_delete])
|
register_links([StagingFile], [staging_file_delete])
|
||||||
@@ -53,3 +57,6 @@ register_setup(setup_sources)
|
|||||||
|
|
||||||
register_links([Document, 'document_list_recent', 'document_list', 'document_create', 'document_create_multiple', 'upload_interactive', 'staging_file_delete'], [document_create_multiple], menu_name='secondary_menu')
|
register_links([Document, 'document_list_recent', 'document_list', 'document_create', 'document_create_multiple', 'upload_interactive', 'staging_file_delete'], [document_create_multiple], menu_name='secondary_menu')
|
||||||
register_links(Document, [document_create_siblings])
|
register_links(Document, [document_create_siblings])
|
||||||
|
|
||||||
|
endpoint = EndPoint('sources')
|
||||||
|
endpoint.register_urls(api_urls)
|
||||||
|
|||||||
@@ -37,13 +37,11 @@ urlpatterns = patterns('sources.views',
|
|||||||
|
|
||||||
url(r'^create/from/local/multiple/$', DocumentCreateWizard.as_view(), name='document_create_multiple'),
|
url(r'^create/from/local/multiple/$', DocumentCreateWizard.as_view(), name='document_create_multiple'),
|
||||||
url(r'^(?P<document_id>\d+)/create/siblings/$', 'document_create_siblings', (), 'document_create_siblings'),
|
url(r'^(?P<document_id>\d+)/create/siblings/$', 'document_create_siblings', (), 'document_create_siblings'),
|
||||||
|
)
|
||||||
|
|
||||||
#version_0_api_services = [
|
api_urls = patterns('',
|
||||||
url(r'^api/staging_folders/file/(?P<staging_folder_pk>[0-9]+)/(?P<filename>.+)/image/$', APIStagingSourceFileImageView.as_view(), name='stagingfolderfile-image-view'),
|
url(r'^staging_folders/file/(?P<staging_folder_pk>[0-9]+)/(?P<filename>.+)/image/$', APIStagingSourceFileImageView.as_view(), name='stagingfolderfile-image-view'),
|
||||||
url(r'^api/staging_folders/file/(?P<staging_folder_pk>[0-9]+)/(?P<filename>.+)/$', APIStagingSourceFileView.as_view(), name='stagingfolderfile-detail'),
|
url(r'^staging_folders/file/(?P<staging_folder_pk>[0-9]+)/(?P<filename>.+)/$', APIStagingSourceFileView.as_view(), name='stagingfolderfile-detail'),
|
||||||
url(r'^api/staging_folders/$', APIStagingSourceListView.as_view(), name='stagingfolder-list'),
|
url(r'^staging_folders/$', APIStagingSourceListView.as_view(), name='stagingfolder-list'),
|
||||||
url(r'^api/staging_folders/(?P<pk>[0-9]+)/$', APIStagingSourceView.as_view(), name='stagingfolder-detail')
|
url(r'^staging_folders/(?P<pk>[0-9]+)/$', APIStagingSourceView.as_view(), name='stagingfolder-detail')
|
||||||
#]
|
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user