Update to Django 1.4.13, update django rest framework to 2.3.13

This commit is contained in:
Roberto Rosario
2014-05-19 19:35:07 -04:00
parent dd1c06102f
commit eaea9ec6fc
5 changed files with 52 additions and 49 deletions

View File

@@ -1,28 +1,27 @@
'''Views file for the rest_api app'''
"""Views file for the rest_api app"""
import logging
from django.utils.translation import ugettext_lazy as _
from django.shortcuts import get_object_or_404
from django.core.urlresolvers import reverse
from django.shortcuts import get_object_or_404
from django.utils.translation import ugettext_lazy as _
from documents.models import Document, DocumentVersion, DocumentPage
from converter.exceptions import UnknownFileFormat, UnkownConvertError
from documents.models import Document, DocumentVersion, DocumentPage
from djangorestframework.views import View, ModelView, ListModelView, InstanceModelView
from djangorestframework.mixins import InstanceMixin, ReadModelMixin
from djangorestframework.response import Response
from djangorestframework import status
from rest_framework import generics
from rest_framework import permissions
from rest_framework import serializers
from rest_framework.response import Response
from rest_framework.reverse import reverse
from .resources import DocumentResourceSimple
logger = logging.getLogger(__name__)
class ReadOnlyInstanceModelView(InstanceModelView):
allowed_methods = ['GET']
class APIBase(View):
"""This is the REST API for Mayan EDMS (https://github.com/rosarior/mayan/).
class APIBase(generics.GenericAPIView):
"""This is the REST API for Mayan EDMS (https://github.com/mayan-edms/mayan-edms).
All the API calls can be navigated either through the browser or from the command line...
@@ -31,27 +30,37 @@ class APIBase(View):
"""
def get(self, request):
return [
{'name': 'Version 0 Alpha', 'url': reverse('api-version-0')}
]
def get(self, request, format=None):
return Response(
{'versions': [
{'name': 'Version 1', 'url': reverse('api-version-1', request=request, format=format), 'number': 1}
]}
)
class Version_0(View):
def get(self, request):
return [
{'name': 'Resources', 'resources': ['document/<pk>']}
]
class Version_1(generics.GenericAPIView):
def get(self, request, format=None):
return Response(
[
{'name': 'Resources', 'resources': ['document/<pk>']}
]
)
class IsZoomable(View):
class DocumentDetailView(generics.RetrieveAPIView):
allowed_methods = ['GET']
serializer_class = DocumentResourceSimple
queryset = Document.objects.all()
class IsZoomable(generics.GenericAPIView):
def get(self, request, pk, page_number, version_pk):
logger.info('received is_zoomable call from: %s' % (request.META['REMOTE_ADDR']))
document_version = get_object_or_404(DocumentVersion, pk=version_pk)
try:
document_version.document.get_image_cache_name(int(page_number), version_pk)
return {'result': True}
return Response({'result': True})
except (UnknownFileFormat, UnkownConvertError,
DocumentPage.DoesNotExist, Document.DoesNotExist,
DocumentVersion.DoesNotExist):
return {'result': False}
return Response({'result': False})