--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/server/src/ammico/serializers/ammico.py Fri Jun 05 16:10:12 2015 +0200
@@ -0,0 +1,38 @@
+from rest_framework import serializers
+
+from ammico.models import Book, Slide
+from ammico.serializers.extractors import extractFromMIMO, extractFromJameSpot
+from ammico.serializers.taggit import TaggitSerializer, TagListSerializerField
+
+
+class BookSerializer(serializers.ModelSerializer):
+ count = serializers.SerializerMethodField('getCount')
+
+ def getCount(self, book):
+ return book.slides.all().count()
+
+ class Meta:
+ model = Book
+ fields = ('id', 'user', 'idArticle', 'parent_visit', 'title', 'description', 'image', 'date', 'count', 'public')
+
+class SlideSerializer(TaggitSerializer, serializers.ModelSerializer):
+ details = serializers.SerializerMethodField('getStopInfo')
+ index = serializers.SerializerMethodField('getOrder')
+ tags = TagListSerializerField(required=False)
+
+ def getStopInfo(self, slide):
+ if (slide.idInventory != ""):
+ #slide added from searched in MIMO database
+ return extractFromMIMO(slide)
+ else:
+ #Get stop info from Oprheo
+ #return extractFromOrpheo(slide)
+ #Get stop info from Jamespot
+ return extractFromJameSpot(slide)
+
+ def getOrder(self, slide):
+ return slide.book.get_slide_order().index(slide.id)
+
+ class Meta:
+ model = Slide
+ fields = ('id', 'index', 'book', 'idStop', 'idInventory', 'title', 'description', 'image', 'date', 'favorite', 'tags', 'details')
\ No newline at end of file