Update to Django 1.4.13, update django rest framework to 2.3.13
This commit is contained in:
@@ -1,15 +1,12 @@
|
|||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
|
|
||||||
from djangorestframework.resources import ModelResource
|
from rest_framework import serializers
|
||||||
|
|
||||||
from documents.models import Document
|
|
||||||
from converter.exceptions import UnknownFileFormat, UnkownConvertError
|
from converter.exceptions import UnknownFileFormat, UnkownConvertError
|
||||||
|
from documents.models import Document, DocumentType
|
||||||
|
|
||||||
|
|
||||||
class DocumentResourceSimple(ModelResource):
|
class DocumentResourceSimple(serializers.HyperlinkedModelSerializer):
|
||||||
model = Document
|
|
||||||
fields = ('url', 'pk', 'document_type', 'uuid', 'date_added', 'description', 'tags', 'comments', 'expensive_methods', 'versions')
|
|
||||||
|
|
||||||
def versions(self, instance):
|
def versions(self, instance):
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
@@ -36,10 +33,11 @@ class DocumentResourceSimple(ModelResource):
|
|||||||
}
|
}
|
||||||
for page in version.pages.all()
|
for page in version.pages.all()
|
||||||
]
|
]
|
||||||
|
|
||||||
}
|
}
|
||||||
for version in instance.versions.all()
|
for version in instance.versions.all()
|
||||||
]
|
]
|
||||||
|
|
||||||
def expensive_methods(self, instance):
|
class Meta:
|
||||||
return []
|
model = Document
|
||||||
|
fields = ('url', 'uuid', 'date_added', 'description')
|
||||||
|
|||||||
@@ -2,17 +2,13 @@ from __future__ import absolute_import
|
|||||||
|
|
||||||
from django.conf.urls.defaults import patterns, url
|
from django.conf.urls.defaults import patterns, url
|
||||||
|
|
||||||
from djangorestframework.views import ListModelView
|
from .views import APIBase, Version_1, DocumentDetailView, IsZoomable
|
||||||
from djangorestframework.views import ListOrCreateModelView, InstanceModelView
|
|
||||||
|
|
||||||
from .views import APIBase, Version_0, ReadOnlyInstanceModelView, IsZoomable
|
|
||||||
from .resources import DocumentResourceSimple
|
|
||||||
|
|
||||||
urlpatterns = patterns('',
|
urlpatterns = patterns('',
|
||||||
url(r'^$', APIBase.as_view(), name='api-root'),
|
url(r'^$', APIBase.as_view(), name='api-root'),
|
||||||
url(r'^v0/$', Version_0.as_view(), name='api-version-0'),
|
url(r'^v1/$', Version_1.as_view(), name='api-version-1'),
|
||||||
|
|
||||||
# Version 0 alpha API calls
|
# Version 1 API calls
|
||||||
url(r'^v0/document/(?P<pk>[0-9]+)/$', ReadOnlyInstanceModelView.as_view(resource=DocumentResourceSimple), name='documents-simple'),
|
url(r'^v1/document/(?P<pk>[0-9]+)/$', DocumentDetailView.as_view(), name='document-detail'),
|
||||||
url(r'^v0/document/(?P<pk>[0-9]+)/version/(?P<version_pk>[0-9]+)/page/(?P<page_number>[0-9]+)/expensive/is_zoomable/$', IsZoomable.as_view(), name='documents-expensive-is_zoomable'),
|
url(r'^v1/document/(?P<pk>[0-9]+)/version/(?P<version_pk>[0-9]+)/page/(?P<page_number>[0-9]+)/expensive/is_zoomable/$', IsZoomable.as_view(), name='documents-expensive-is_zoomable'),
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,28 +1,27 @@
|
|||||||
'''Views file for the rest_api app'''
|
"""Views file for the rest_api app"""
|
||||||
|
|
||||||
import logging
|
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.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 converter.exceptions import UnknownFileFormat, UnkownConvertError
|
||||||
|
from documents.models import Document, DocumentVersion, DocumentPage
|
||||||
|
|
||||||
from djangorestframework.views import View, ModelView, ListModelView, InstanceModelView
|
from rest_framework import generics
|
||||||
from djangorestframework.mixins import InstanceMixin, ReadModelMixin
|
from rest_framework import permissions
|
||||||
from djangorestframework.response import Response
|
from rest_framework import serializers
|
||||||
from djangorestframework import status
|
from rest_framework.response import Response
|
||||||
|
from rest_framework.reverse import reverse
|
||||||
|
|
||||||
|
from .resources import DocumentResourceSimple
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class ReadOnlyInstanceModelView(InstanceModelView):
|
class APIBase(generics.GenericAPIView):
|
||||||
allowed_methods = ['GET']
|
"""This is the REST API for Mayan EDMS (https://github.com/mayan-edms/mayan-edms).
|
||||||
|
|
||||||
|
|
||||||
class APIBase(View):
|
|
||||||
"""This is the REST API for Mayan EDMS (https://github.com/rosarior/mayan/).
|
|
||||||
|
|
||||||
All the API calls can be navigated either through the browser or from the command line...
|
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):
|
def get(self, request, format=None):
|
||||||
return [
|
return Response(
|
||||||
{'name': 'Version 0 Alpha', 'url': reverse('api-version-0')}
|
{'versions': [
|
||||||
]
|
{'name': 'Version 1', 'url': reverse('api-version-1', request=request, format=format), 'number': 1}
|
||||||
|
]}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class Version_0(View):
|
class Version_1(generics.GenericAPIView):
|
||||||
def get(self, request):
|
def get(self, request, format=None):
|
||||||
return [
|
return Response(
|
||||||
{'name': 'Resources', 'resources': ['document/<pk>']}
|
[
|
||||||
]
|
{'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):
|
def get(self, request, pk, page_number, version_pk):
|
||||||
logger.info('received is_zoomable call from: %s' % (request.META['REMOTE_ADDR']))
|
logger.info('received is_zoomable call from: %s' % (request.META['REMOTE_ADDR']))
|
||||||
document_version = get_object_or_404(DocumentVersion, pk=version_pk)
|
document_version = get_object_or_404(DocumentVersion, pk=version_pk)
|
||||||
try:
|
try:
|
||||||
document_version.document.get_image_cache_name(int(page_number), version_pk)
|
document_version.document.get_image_cache_name(int(page_number), version_pk)
|
||||||
return {'result': True}
|
return Response({'result': True})
|
||||||
except (UnknownFileFormat, UnkownConvertError,
|
except (UnknownFileFormat, UnkownConvertError,
|
||||||
DocumentPage.DoesNotExist, Document.DoesNotExist,
|
DocumentPage.DoesNotExist, Document.DoesNotExist,
|
||||||
DocumentVersion.DoesNotExist):
|
DocumentVersion.DoesNotExist):
|
||||||
return {'result': False}
|
return Response({'result': False})
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
Django==1.3.5
|
Django==1.4.13
|
||||||
django-pagination==1.0.7
|
django-pagination==1.0.7
|
||||||
wsgiref==0.1.2
|
wsgiref==0.1.2
|
||||||
django-taggit==0.9.3
|
django-taggit==0.9.3
|
||||||
@@ -12,7 +12,7 @@ Pillow==1.7.8
|
|||||||
cssmin==0.1.4
|
cssmin==0.1.4
|
||||||
django-compressor==1.1.1
|
django-compressor==1.1.1
|
||||||
-e git+https://github.com/rosarior/django-sendfile.git#egg=django-sendfile
|
-e git+https://github.com/rosarior/django-sendfile.git#egg=django-sendfile
|
||||||
djangorestframework==0.2.3
|
djangorestframework==2.3.13
|
||||||
South==0.7.6
|
South==0.7.6
|
||||||
https://github.com/rosarior/python-gnupg/zipball/0.2.8
|
https://github.com/rosarior/python-gnupg/zipball/0.2.8
|
||||||
python-hkp==0.1.3
|
python-hkp==0.1.3
|
||||||
|
|||||||
@@ -148,7 +148,7 @@ INSTALLED_APPS = (
|
|||||||
'taggit',
|
'taggit',
|
||||||
'mptt',
|
'mptt',
|
||||||
'compressor',
|
'compressor',
|
||||||
'djangorestframework',
|
'rest_framework',
|
||||||
# Base generic
|
# Base generic
|
||||||
'permissions',
|
'permissions',
|
||||||
'project_setup',
|
'project_setup',
|
||||||
@@ -274,7 +274,7 @@ if DEVELOPMENT:
|
|||||||
import debug_toolbar
|
import debug_toolbar
|
||||||
#INSTALLED_APPS +=('debug_toolbar',)
|
#INSTALLED_APPS +=('debug_toolbar',)
|
||||||
except ImportError:
|
except ImportError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
TEMPLATE_CONTEXT_PROCESSORS += ('django.core.context_processors.debug',)
|
TEMPLATE_CONTEXT_PROCESSORS += ('django.core.context_processors.debug',)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user