From e9651860b791fee3a94ec2f9589f9fa3c2b11395 Mon Sep 17 00:00:00 2001
From: Boris Ponsioen <b.g.t.ponsioen@uva.nl>
Date: Tue, 22 May 2018 12:24:33 +0200
Subject: [PATCH] Tries using rest_framework_mongoengine for deserialization
 from JSON to Citable

---
 SciPost_v1/settings/base.py |  1 +
 metacore/services.py        | 10 ++++++++++
 requirements.txt            |  2 +-
 3 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/SciPost_v1/settings/base.py b/SciPost_v1/settings/base.py
index db35cf629..dfbbc6f38 100644
--- a/SciPost_v1/settings/base.py
+++ b/SciPost_v1/settings/base.py
@@ -83,6 +83,7 @@ INSTALLED_APPS = (
     'guardian',
     'haystack',
     'rest_framework',
+    'rest_framework_mongoengine',
     'sphinxdoc',
     'affiliations',
     'colleges',
diff --git a/metacore/services.py b/metacore/services.py
index df5006f88..2e02932c6 100644
--- a/metacore/services.py
+++ b/metacore/services.py
@@ -1,6 +1,8 @@
 import requests
 from .models import Citable, CitableWithDOI, Journal
 from background_task import background
+from rest_framework import serializers
+from rest_framework_mongoengine.serializers import DocumentSerializer
 from django.utils import timezone
 import logging
 
@@ -257,3 +259,11 @@ def parse_crossref_citable(citable_item):
             logger.error(citable_item.keys())
             return False
 
+class CitableCrossrefSerializer(DocumentSerializer):
+    # metadata = serializers.JSONField(source='te')
+    test = serializers.CharField(source='te')
+
+    class Meta:
+        model = CitableWithDOI
+        fields = '__all__'
+
diff --git a/requirements.txt b/requirements.txt
index 0d5ea445a..822386963 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -7,7 +7,6 @@ psycopg2==2.7.3  # PostgreSQL engine
 pytz==2017.2  # Timezone package
 djangorestframework==3.6.3
 requests==2.18.3
-mongoengine==0.15.0
 
 
 # Django packages
@@ -53,6 +52,7 @@ html2text
 # Mongo (Metacore)
 mongoengine==0.15.0
 django-background-tasks==1.1.13
+django-rest-framework-mongoengine==3.3.0
 
 # Possibly dead (most probably not used anymore and possibly not up-to-date packages)  -- JdW (August 15th, 2017)
 imagesize==0.7.1
-- 
GitLab