X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/a8e1fae76ff2277a387f403600fe31bef4b2387e..0b7e02cf796af7d3028efabeb37473f9198d0af2:/apps/api/urls.py diff --git a/apps/api/urls.py b/apps/api/urls.py index de09605d..8c10158a 100644 --- a/apps/api/urls.py +++ b/apps/api/urls.py @@ -5,7 +5,13 @@ from django.conf.urls.defaults import * from api.resources import * -FORMAT_EXT = r"\.(?Pxml|json|yaml)$" +FORMAT = r"\.(?Pxml|json|yaml)" +DOC = r'(?P[^/]+)' +REVISION = r'(?Platest|[0-9a-f]{40})' + +def urlpath(*args, **kwargs): + format = kwargs.get('format', True) + return r'^' + (r'/'.join(args)) + (FORMAT if format else '') + '$' urlpatterns = patterns('', # url(r'^hello$', hello_resource, {'emitter_format': 'json'}), @@ -21,31 +27,34 @@ urlpatterns = patterns('', url(r'^documents$', library_resource, {'emitter_format': 'json'}, name="document_list_view"), - url(r'^documents'+FORMAT_EXT, library_resource, + url(urlpath(r'documents'), library_resource, name="document_list_view_withformat"), - url(r'^documents/(?P[^/]+)'+FORMAT_EXT, + url(urlpath(r'documents', DOC), document_resource, name="document_view_withformat"), - url(r'^documents/(?P[^/]+)$', + url(urlpath(r'documents', DOC, format=False), document_resource, {'emitter_format': 'json'}, name="document_view"), - url(r'^documents/(?P[^/]+)/text$', + url(urlpath(r'documents', DOC, 'text', REVISION, format=False), document_text_resource, {'emitter_format': 'rawxml'}, name="doctext_view"), - url(r'^documents/(?P[^/]+)/dc' + FORMAT_EXT, + url(urlpath(r'documents', DOC, 'dc', REVISION), document_dc_resource, name="docdc_view_withformat"), - url(r'^documents/(?P[^/]+)/dc$', + url(urlpath(r'documents', DOC, 'dc', REVISION, format=False), document_dc_resource, {'emitter_format': 'json'}, name="docdc_view"), - url(r'^documents/(?P[^/]+)/parts$', - document_resource, {'emitter_format': 'json'}, - name="docparts_view"), + url(urlpath(r'documents', DOC, 'revision'), + document_merge, {'emitter_format': 'json'}, name="docmerge_view") + +# url(r'^documents/(?P[^/]+)/parts$', +# document_resource, {'emitter_format': 'json'}, +# name="docparts_view"), # url(r'^posts/(?P[^/]+)/$', blogpost_resource), # url(r'^other/(?P[^/]+)/(?P.+)/$', arbitrary_resource),