diff --git a/apps/rest_api/resources.py b/apps/rest_api/resources.py index bbb8f52ebf..99a5c26613 100644 --- a/apps/rest_api/resources.py +++ b/apps/rest_api/resources.py @@ -25,6 +25,8 @@ class DocumentResourceSimple(ModelResource): { 'page_numer': page.page_number, 'page_label': page.page_label, + 'is_zoomable': reverse('documents-expensive-is_zoomable', args=[instance.pk, page.page_number]), + #'content': } for page in instance.documentpage_set.all() @@ -33,6 +35,4 @@ class DocumentResourceSimple(ModelResource): ] def expensive_methods(self, instance): - return [ - {'is_zoomable': reverse('documents-expensive-is_zoomable', args=[instance.pk])}, - ] + return [] diff --git a/apps/rest_api/urls.py b/apps/rest_api/urls.py index b9eb0eea66..3265dd7574 100644 --- a/apps/rest_api/urls.py +++ b/apps/rest_api/urls.py @@ -3,7 +3,7 @@ from django.conf.urls.defaults import patterns, url from djangorestframework.views import ListModelView from djangorestframework.views import ListOrCreateModelView, InstanceModelView -from rest_api.views import APIBase, Version_0, ReadOnlyInstanceModelView, IsZoomable, Exists, Size +from rest_api.views import APIBase, Version_0, ReadOnlyInstanceModelView, IsZoomable from rest_api.resources import DocumentResourceSimple urlpatterns = patterns('', @@ -12,7 +12,5 @@ urlpatterns = patterns('', # Version 0 alpha API calls url(r'^v0/document/(?P[0-9]+)/$', ReadOnlyInstanceModelView.as_view(resource=DocumentResourceSimple), name='documents-simple'), - url(r'^v0/document/(?P[0-9]+)/expensive/is_zoomable/$', IsZoomable.as_view(), name='documents-expensive-is_zoomable'), - url(r'^v0/document/(?P[0-9]+)/expensive/exists/$', IsZoomable.as_view(), name='documents-expensive-exists'), - url(r'^v0/document/(?P[0-9]+)/expensive/size/$', Size.as_view(), name='documents-expensive-size'), + url(r'^v0/document/(?P[0-9]+)/page/(?P[0-9]+)/expensive/is_zoomable/$', IsZoomable.as_view(), name='documents-expensive-is_zoomable'), ) diff --git a/apps/rest_api/views.py b/apps/rest_api/views.py index 06b5a46ce5..6a1b5dfc14 100644 --- a/apps/rest_api/views.py +++ b/apps/rest_api/views.py @@ -40,30 +40,16 @@ class APIBase(View): class Version_0(View): def get(self, request): return [ - {'name': 'Resources', 'resources': ['documents/']} + {'name': 'Resources', 'resources': ['document/']} ] class IsZoomable(View): - def get(self, request, pk): + def get(self, request, pk, page_number): logger.info('received is_zoomable call from: %s' % (request.META['REMOTE_ADDR'])) document = get_object_or_404(Document, pk=pk) try: - document.get_image_cache_name(1) # TODO: page + document.get_image_cache_name(int(page_number)) return {'result': True} except (UnknownFileFormat, UnkownConvertError): return {'result': False} - - -class Exists(View): - def get(self, request, pk): - logger.info('received exists call from: %s' % (request.META['REMOTE_ADDR'])) - document = get_object_or_404(Document, pk=pk) - return {'result': document.exists()} - - -class Size(View): - def get(self, request, pk): - logger.info('received size call from: %s' % (request.META['REMOTE_ADDR'])) - document = get_object_or_404(Document, pk=pk) - return {'result': document.size}