X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/b2d72160e2a68991c66ea6017b871d7f42c0b29d..60f59d5903e5f4289d7a4b224c3f05e161395815:/apps/api/urls.py diff --git a/apps/api/urls.py b/apps/api/urls.py index ada879c4..0ae14203 100644 --- a/apps/api/urls.py +++ b/apps/api/urls.py @@ -2,45 +2,80 @@ __author__="lreqc" __date__ ="$2009-09-17 16:16:54$" from django.conf.urls.defaults import * -from piston.resource import Resource +from api.resources import * -from api.handlers import * -from api.utils import TextEmitter, DjangoAuth +FORMAT = r"\.(?Pxml|json|yaml)" +DOC = r'(?P[^/]+)' +# REVISION = r'(?Platest|[0-9a-f]{40})' -authdata = {'authentication': DjangoAuth()} - -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'}, + name="toolbar_buttons" + ), + + url(r'^toolbar/scriptlets$', scriptlets, {'emitter_format': 'json'}, + name="toolbar_scriptlets" + ), + + # 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, - document_resource, name="document_view_withformat"), + 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, 'gallery', format=False), + document_gallery, {'emitter_format': 'json'}, + name="docgallery_view"), + + # XML + url(urlpath(r'documents', DOC, 'text', format=False), document_text_resource, {'emitter_format': 'rawxml'}, name="doctext_view"), - url(r'^documents/(?P[^/]+)/dc$', - document_resource, {'emitter_format': 'json'}, + # HTML + url(urlpath(r'documents', DOC, 'html', format=False), + document_html_resource, {'emitter_format': 'rawhtml'}, + name="dochtml_view"), + + # DC + #url(urlpath(r'documents', DOC, 'dc'), + # document_dc_resource, + # name="docdc_view_withformat"), + + url(urlpath(r'documents', DOC, 'dc', format=False), + document_dc_resource, {'emitter_format': 'json'}, name="docdc_view"), - url(r'^documents/(?P[^/]+)/parts$', - document_resource, {'emitter_format': 'json'}, - name="docparts_view"), + # MERGE + 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),