X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/b2d72160e2a68991c66ea6017b871d7f42c0b29d..ad481d9335cb91f56adfffda3999284f37d37942:/apps/api/urls.py diff --git a/apps/api/urls.py b/apps/api/urls.py index ada879c4..6a95cf0c 100644 --- a/apps/api/urls.py +++ b/apps/api/urls.py @@ -2,45 +2,68 @@ __author__="lreqc" __date__ ="$2009-09-17 16:16:54$" from django.conf.urls.defaults import * -from piston.resource import Resource -from api.handlers import * -from api.utils import TextEmitter, DjangoAuth +from api.resources import * -authdata = {'authentication': DjangoAuth()} +FORMAT = r"\.(?Pxml|json|yaml)" +DOC = r'(?P[^/]+)' +REVISION = r'(?Platest|[0-9a-f]{40})' -FORMAT_EXT = r"\.(?Pxml|json|yaml|django)$" - -library_resource = Resource(LibraryHandler, **authdata) -document_resource = Resource(DocumentHandler, **authdata) -document_text_resource = Resource(DocumentTextHandler, **authdata) +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'}), # url(r'^hello\.(?P.+)$', hello_resource), + # Toolbar + url(r'^toolbar/buttons$', toolbar_buttons, {'emitter_format': 'json'}), + url(r'^toolbar/scriptlets$', scriptlets, {'emitter_format': 'json'}), + + # Pull requests + url(r"^pull-requests$", pullrequest_collection, + {'emitter_format': 'json'} ), + + url(r"^pull-requests/(?P\d+)$", pullrequest_rsrc, + {'emitter_format': 'json'}, name="pullrequest_view" ), + # Documents - url(r'^documents$', library_resource, {'emitter_format': 'json'}, - name="document_list_view"), + url(r'^documents$', library_resource, + {'emitter_format': 'json'}, name="document_list_view"), - url(r'^documents/(?P[^/]+)'+FORMAT_EXT, + url(urlpath(r'documents'), library_resource, + name="document_list_view_withformat"), + + 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$', - document_resource, {'emitter_format': 'json'}, + url(urlpath(r'documents', DOC, 'html', REVISION, format=False), + document_html_resource, {'emitter_format': 'rawhtml'}, + name="dochtml_view"), + + url(urlpath(r'documents', DOC, 'dc', REVISION), + document_dc_resource, + name="docdc_view_withformat"), + + 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', format=False), + 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),