Revision 15137c54 plankton/urls.py

b/plankton/urls.py
32 32
# or implied, of GRNET S.A.
33 33

  
34 34
from django.conf.urls.defaults import patterns
35
from django.http import HttpResponseNotAllowed
35 36

  
36
urlpatterns = patterns('synnefo.plankton.views',
37
    (r'^images/$', 'demux'),
38
    (r'^images/detail', 'list_public', {'detail': True}),
39
    (r'^images/([\w-]+)', 'image_demux')
37
from synnefo.plankton import views
38

  
39

  
40
def demux(request):
41
    if request.method == 'GET':
42
        return views.list_public_images(request)
43
    elif request.method == 'POST':
44
        return views.add_image(request)
45
    else:
46
        return HttpResponseNotAllowed(['GET', 'POST'])
47

  
48
def demux_image(request, image_id):
49
    if request.method == 'GET':
50
        return views.get_image(request, image_id)
51
    elif request.method == 'HEAD':
52
        return views.get_image_meta(request, image_id)
53
    elif request.method == 'PUT':
54
        return views.update_image(request, image_id)
55
    else:
56
        return HttpResponseNotAllowed(['GET', 'HEAD', 'PUT'])
57

  
58
def demux_image_members(request, image_id):
59
    if request.method == 'GET':
60
        return views.list_image_members(request, image_id)
61
    elif request.method == 'PUT':
62
        return views.update_image_members(request, image_id)
63
    else:
64
        return HttpResponseNotAllowed(['GET', 'PUT'])
65

  
66
def demux_members(request, image_id, member):
67
    if request.method == 'DELETE':
68
        return views.remove_image_member(request, image_id, member)
69
    elif request.method == 'PUT':
70
        return views.add_image_member(request, image_id, member)
71
    else:
72
        return HttpResponseNotAllowed(['DELETE', 'PUT'])
73

  
74

  
75
urlpatterns = patterns('',
76
    (r'^images/$', demux),
77
    (r'^images/detail$', views.list_public_images, {'detail': True}),
78
    (r'^images/([\w-]+)$', demux_image),
79
    (r'^images/([\w-]+)/members$', demux_image_members),
80
    (r'^images/([\w-]+)/members/(\w+)$', demux_members),
81
    (r'^shared-images/(\w+)$', views.list_shared_images)
40 82
)

Also available in: Unified diff