Cleanup documents API code and names

This commit is contained in:
Roberto Rosario
2014-07-06 12:28:21 -04:00
parent c7a0b71fb2
commit f889ade7cd
3 changed files with 7 additions and 39 deletions

View File

@@ -18,16 +18,16 @@ from permissions.models import Permission
from .conf.settings import DISPLAY_SIZE, ZOOM_MAX_LEVEL, ZOOM_MIN_LEVEL
from .models import Document
from .permissions import PERMISSION_DOCUMENT_VIEW
from .resources import DocumentResourceSimple
from .resources import ResourceDocument
logger = logging.getLogger(__name__)
# API Views
class APIReadOnlyInstanceModelView(RetrieveAPIView):
class APIDocumentView(RetrieveAPIView):
allowed_methods = ['GET']
serializer_class = DocumentResourceSimple
serializer_class = ResourceDocument
queryset = Document.objects.all()

View File

@@ -3,7 +3,7 @@ from __future__ import absolute_import
from django.conf.urls import url
from .cleanup import cleanup
from .api import APIReadOnlyInstanceModelView, APIDocumentImageView
from .api import APIDocumentView, APIDocumentImageView
bootstrap_models = [
{
@@ -17,6 +17,6 @@ bootstrap_models = [
cleanup_functions = [cleanup]
version_0_api_services = [
{'urlpattern': url(r'^document/(?P<pk>[0-9]+)/$', APIReadOnlyInstanceModelView.as_view(), name='document-detail'), 'description': 'Show document data', 'url': 'document/<document ID>'},
{'urlpattern': url(r'^document/(?P<pk>[0-9]+)/$', APIDocumentView.as_view(), name='document-detail'), 'description': 'Show document data', 'url': 'document/<document ID>'},
{'urlpattern': url(r'^document/(?P<pk>[0-9]+)/image/$', APIDocumentImageView.as_view(), name='document-image'), 'description': 'Return a base64 image of the document', 'url': 'document/<document_id>/image/?page=<page number>&zoom=<zoom percent>&rotate=<rotation degrees>'},
]

View File

@@ -7,39 +7,7 @@ from rest_framework import serializers
from .models import Document
class DocumentResourceSimple(serializers.HyperlinkedModelSerializer):
def versions(self, instance):
return [
{
'version': version.get_formated_version(),
'major': version.major,
'minor': version.minor,
'micro': version.micro,
'release_level': version.release_level,
'serial': version.serial,
'timestamp': version.timestamp,
'comment': version.comment,
'mimetype': version.mimetype,
'encoding': version.encoding,
'filename': version.filename,
'checksum': version.checksum,
'download': reverse('document_version_download', args=[version.pk]),
'stored_filename': version.file.name,
# TODO: Add transformations
'pages': [
{
'content': page.content,
'page_label': page.page_label,
'page_number': page.page_number,
}
for page in version.pages.all()
]
}
for version in instance.versions.all()
]
class ResourceDocument(serializers.HyperlinkedModelSerializer):
class Meta:
model = Document
#fields = ('url', 'pk', 'document_type', 'uuid', 'date_added', 'description', 'expensive_methods', 'versions')
fields = ('url', 'document_type', 'uuid', 'date_added', 'description')#, 'versions')
fields = ('url', 'document_type', 'uuid', 'date_added', 'description')