diff --git a/gracedb/api.py b/gracedb/api.py index 7dc6066d5f8d7e4e5738282061f5410df67ad247..ef3c5d0fb42803b958246d20cd37a50a9a21156c 100644 --- a/gracedb/api.py +++ b/gracedb/api.py @@ -6,8 +6,14 @@ import simplejson from gracedb.models import Event +from piston.handler import BaseHandler + import os +class EventHandler(BaseHandler): + model = Event + allowed_methods = ('GET',) + def download(request, graceid, filename=""): # Do not filename to be None. That messes up later os.path.join filename = filename or "" diff --git a/gracedb/urls_rest.py b/gracedb/urls_rest.py index 768938993eb5277b8cfed0f8becd4083b6f713bf..f640f2d5e8cdd1cb3a3584d54990880deaba83a4 100644 --- a/gracedb/urls_rest.py +++ b/gracedb/urls_rest.py @@ -1,7 +1,13 @@ from django.conf.urls.defaults import * +from piston.resource import Resource +from gracedb.api import EventHandler + +eventHandler = Resource(EventHandler) + urlpatterns = patterns('gracedb.api', + url (r'^events/[A-Z]?(?P<id>[\w\d]+)$', eventHandler, name="api_event"), url (r'^events/(?P<graceid>[\w\d]+)/files/(?P<filename>.+)?$', 'download', name="download"), url (r'^event/(?P<graceid>[\w\d]+)/files/(?P<filename>.+)?$', 'download', name="download2"), )