make serializers folder a package and extract extractor file from it
authorrougeronj
Wed, 10 Jun 2015 12:53:56 +0200
changeset 153 4b222d82735e
parent 152 fd1b3d9a928e
child 154 d029bf4a0b2b
make serializers folder a package and extract extractor file from it
server/ammicosrv/ammico/extractors.py
server/ammicosrv/ammico/serializers/__init__.py
server/ammicosrv/ammico/serializers/ammico.py
server/ammicosrv/ammico/serializers/extractors.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/server/ammicosrv/ammico/extractors.py	Wed Jun 10 12:53:56 2015 +0200
@@ -0,0 +1,67 @@
+
+import json
+
+import requests
+import xmltodict
+
+from ammicosrv.ammico.utils import fetchJson, MyHTMLParser
+
+
+def extractFromMIMO(slide):
+    details = {}
+    params = {'of': 'json', 'q': 'record_inventorynumber:' + slide.id_inventory} 
+    data = requests.get(slide.book.exposition.url_exalead, params=params)
+    results = json.loads(data.content.decode('utf-8'))
+    if (len(results['hits']) == 1):
+        for i in results['hits'][0]['metas']:
+            if('images' not in i):
+                if ('name' in i):
+                    details[i['name']] = i['value']
+            else:
+                details.setdefault('images', []).append(i['images'][0]['value'])
+        details['title'] = details.pop('name')
+    return details
+
+def extractFromJameSpot(slide):
+    details={}
+    stopList = fetchJson(slide.book.exposition.url_jamespot + '&f=list&o=article&type=stop&itemFormat=article')
+    for stops in stopList:
+        if (slide.id_stop == stops['idStop']):
+            details = stops
+            details.setdefault('images', []).append(details.pop('firstImg'))
+            details['description'] = details.pop('captionImg')
+    return details
+
+def extractFromOrpheo(slide):
+    details = {}
+    params = {'id': slide.id_stop.replace('stop-', '')} 
+    data = requests.get(slide.book.exposition.url_orpheo, params=params)
+    parsed_data = xmltodict.parse(data.content.decode('utf-8'))
+    
+    if ('item' in parsed_data['result']):
+        details = {
+            'title': parsed_data['result']['item']['title'],
+            'id_inventory': parsed_data['result']['item']['Numero_inventaire'],
+        }
+        parser = MyHTMLParser()
+        
+        if (parsed_data['result']['item']['Description']):
+            parser.feed(parsed_data['result']['item']['Description'])
+            details['description']= parser.description
+            
+        if (parsed_data['result']['item']['Audio']):
+            parser.feed(parsed_data['result']['item']['Audio'])
+            details['images']= parser.images
+            details['audio']= parser.audio
+            details['captions']= parser.captions
+            
+        if (parsed_data['result']['item']['Video']):
+            parser.feed(parsed_data['result']['item']['Video'])
+            details['video']= parser.video
+            details['images']= parser.images
+            
+        #if (parsed_data['result']['item']['Image']):
+        #    parser.feed(parsed_data['result']['item']['Image'])
+        #    details['image']= parser.caption
+        
+    return details
\ No newline at end of file
--- a/server/ammicosrv/ammico/serializers/ammico.py	Wed Jun 10 12:32:10 2015 +0200
+++ b/server/ammicosrv/ammico/serializers/ammico.py	Wed Jun 10 12:53:56 2015 +0200
@@ -1,7 +1,7 @@
 from rest_framework import serializers
 
 from ammicosrv.ammico.models import Book, Slide
-from ammicosrv.ammico.serializers.extractors import extractFromMIMO, extractFromJameSpot
+from ammicosrv.ammico.extractors import extractFromMIMO, extractFromJameSpot
 from ammicosrv.ammico.serializers.taggit import TaggitSerializer, TagListSerializerField
 
 
--- a/server/ammicosrv/ammico/serializers/extractors.py	Wed Jun 10 12:32:10 2015 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-
-import json
-
-import requests
-import xmltodict
-
-from ammicosrv.ammico.utils import fetchJson, MyHTMLParser
-
-
-def extractFromMIMO(slide):
-    details = {}
-    params = {'of': 'json', 'q': 'record_inventorynumber:' + slide.id_inventory} 
-    data = requests.get(slide.book.exposition.url_exalead, params=params)
-    results = json.loads(data.content.decode('utf-8'))
-    if (len(results['hits']) == 1):
-        for i in results['hits'][0]['metas']:
-            if('images' not in i):
-                if ('name' in i):
-                    details[i['name']] = i['value']
-            else:
-                details.setdefault('images', []).append(i['images'][0]['value'])
-        details['title'] = details.pop('name')
-    return details
-
-def extractFromJameSpot(slide):
-    details={}
-    stopList = fetchJson(slide.book.exposition.url_jamespot + '&f=list&o=article&type=stop&itemFormat=article')
-    for stops in stopList:
-        if (slide.id_stop == stops['idStop']):
-            details = stops
-            details.setdefault('images', []).append(details.pop('firstImg'))
-            details['description'] = details.pop('captionImg')
-    return details
-
-def extractFromOrpheo(slide):
-    details = {}
-    params = {'id': slide.id_stop.replace('stop-', '')} 
-    data = requests.get(slide.book.exposition.url_orpheo, params=params)
-    parsed_data = xmltodict.parse(data.content.decode('utf-8'))
-    
-    if ('item' in parsed_data['result']):
-        details = {
-            'title': parsed_data['result']['item']['title'],
-            'id_inventory': parsed_data['result']['item']['Numero_inventaire'],
-        }
-        parser = MyHTMLParser()
-        
-        if (parsed_data['result']['item']['Description']):
-            parser.feed(parsed_data['result']['item']['Description'])
-            details['description']= parser.description
-            
-        if (parsed_data['result']['item']['Audio']):
-            parser.feed(parsed_data['result']['item']['Audio'])
-            details['images']= parser.images
-            details['audio']= parser.audio
-            details['captions']= parser.captions
-            
-        if (parsed_data['result']['item']['Video']):
-            parser.feed(parsed_data['result']['item']['Video'])
-            details['video']= parser.video
-            details['images']= parser.images
-            
-        #if (parsed_data['result']['item']['Image']):
-        #    parser.feed(parsed_data['result']['item']['Image'])
-        #    details['image']= parser.caption
-        
-    return details
\ No newline at end of file