add URL_JAMESPOT in settings - add requirements.txt to build the virtual env
authorrougeronj
Mon, 23 Mar 2015 12:21:17 +0100
changeset 22 609fa711b324
parent 21 4e9e005bce90
child 23 4a155e6fb409
add URL_JAMESPOT in settings - add requirements.txt to build the virtual env
server/ammico/migrations/0001_initial.py
server/ammico/serializers.py
server/ammico/urls.py
server/ammico/views.py
server/requirements.txt
server/settings.py
--- a/server/ammico/migrations/0001_initial.py	Mon Mar 23 12:20:28 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from django.db import models, migrations
-from django.conf import settings
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
-    ]
-
-    operations = [
-        migrations.CreateModel(
-            name='AmmicoUser',
-            fields=[
-                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
-                ('idUser', models.CharField(unique=True, max_length=512)),
-                ('image', models.URLField(max_length=2048, blank=True)),
-                ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)),
-            ],
-            options={
-            },
-            bases=(models.Model,),
-        ),
-        migrations.CreateModel(
-            name='Book',
-            fields=[
-                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
-                ('idArticle', models.CharField(unique=True, max_length=512)),
-                ('title', models.CharField(max_length=512, blank=True)),
-                ('description', models.CharField(max_length=512, null=True, blank=True)),
-                ('image', models.URLField(max_length=2048, blank=True)),
-                ('date', models.DateTimeField(null=True)),
-                ('user', models.ForeignKey(to='ammico.AmmicoUser')),
-            ],
-            options={
-            },
-            bases=(models.Model,),
-        ),
-        migrations.CreateModel(
-            name='Slide',
-            fields=[
-                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
-                ('idStop', models.CharField(max_length=512)),
-                ('comment', models.CharField(max_length=512, blank=True)),
-                ('date', models.DateTimeField(blank=True)),
-                ('favorite', models.BooleanField(default=False, db_index=True)),
-                ('book', models.ForeignKey(to='ammico.Book')),
-            ],
-            options={
-            },
-            bases=(models.Model,),
-        ),
-    ]
--- a/server/ammico/serializers.py	Mon Mar 23 12:20:28 2015 +0100
+++ b/server/ammico/serializers.py	Mon Mar 23 12:21:17 2015 +0100
@@ -1,7 +1,9 @@
 from rest_framework import serializers
-from .models import Book, Slide
+
 from ammico.utils import fetchJson
 
+from ammico.models import AmmicoUser, Book, Slide
+
 
 class BookSerializer(serializers.ModelSerializer):
 
--- a/server/ammico/urls.py	Mon Mar 23 12:20:28 2015 +0100
+++ b/server/ammico/urls.py	Mon Mar 23 12:21:17 2015 +0100
@@ -1,5 +1,7 @@
 from django.conf.urls import patterns, url
-from .views import populateUser, ListBooks, InfoBook, ListSlides, InfoSlide, GetSlides
+
+from ammico.views import populateUser, ListBooks, InfoBook, ListSlides, InfoSlide, GetSlides
+
 
 urlpatterns = patterns('',
     url(r'^populateUser/$', populateUser, name='populateUser'),
--- a/server/ammico/views.py	Mon Mar 23 12:20:28 2015 +0100
+++ b/server/ammico/views.py	Mon Mar 23 12:21:17 2015 +0100
@@ -1,19 +1,23 @@
 
-from django.http import HttpResponse
-import requests
+from datetime import datetime
 import json
-from datetime import datetime
-from django.utils.dateparse import parse_datetime
+
+from django.contrib.auth import login, logout
 from django.contrib.auth.models import User
-from .models import Book, AmmicoUser, Slide
-from .serializers import BookSerializer, SlideSerializer
+from django.http import HttpResponse
+from django.utils.dateparse import parse_datetime
+import requests
+from rest_framework import authentication, permissions
+from rest_framework.response import Response
+from rest_framework.views import APIView
 
-from rest_framework.views import APIView
-from rest_framework.response import Response
-from rest_framework import authentication, permissions
+from ammico.models import Book, AmmicoUser, Slide
+from ammico.serializers import BookSerializer, SlideSerializer
+from settings import URL_JAMESPOT
+
 
 def populateUser(request):
-    usermail = request.GET["usermail"]
+    usermail = request.GET["email"]
     user = AmmicoUser.objects.get(user=User.objects.get(email=usermail))
     data = {"user": usermail, "idUser": user.idUser}
     populateVisite(user)
@@ -24,19 +28,23 @@
     #r = requests.get('http://fui-ammico.jamespot.pro/api/api.php?&k=6c8bfcea247e8a5841288269887d88f0&d=2016-01-31&m=EXT-IRI&v=2.0&f=get&o=article&idArticle=169')
 
     #simulate the request
-    r = requests.get('http://fui-ammico.jamespot.pro/api/api.php?&k=6c8bfcea247e8a5841288269887d88f0&d=2016-01-31&m=EXT-IRI&v=2.0&o=article&f=list&idUser='+user.idUser)
+    params = {'o': 'article', 'f': 'list', 'idUser': user.idUser} 
+    r = requests.get(URL_JAMESPOT, params=params)
     visites = json.loads(r.content.decode('utf-8'))
     
     for visite in visites['VAL']:
-        r = requests.get('http://fui-ammico.jamespot.pro/api/api.php?&k=6c8bfcea247e8a5841288269887d88f0&d=2016-01-31&m=EXT-IRI&v=2.0&o=article&f=get&idArticle='+visite['idArticle'])
+        params = {'o' : 'article', 'f' : 'get', 'idArticle' : visite['idArticle']}
+        r = requests.get(URL_JAMESPOT, params=params)
         visiteInfo = json.loads(r.content.decode('utf-8'))['VAL']
-        book, _ = Book.objects.get_or_create(
+        book, _ = Book.objects.update_or_create(
             user=user, 
             idArticle=visiteInfo['idArticle'],
-            title=visiteInfo['title'],
-            description=visiteInfo['description'],
-            image=visiteInfo['image'],
-            date=parse_datetime(visiteInfo['dateCreation'])
+            defaults={
+                'title' : visiteInfo['title'],
+                'description' : visiteInfo['description'],
+                'image' : visiteInfo['image'],
+                'date' : parse_datetime(visiteInfo['dateCreation'])
+            }
         )
         populateSlide(json.loads(visiteInfo['steps']), book)
 
@@ -49,11 +57,13 @@
             else:
                 comment = ""
             
-            Slide.objects.get_or_create(
+            Slide.objects.update_or_create(
                 book=book,
                 idStop=step['stop'],
-                comment=comment,
-                date=parse_datetime(str(datetime.strptime(step['DATE'] + " " + step['TIME'], "%d/%m/%Y %H:%M:%S")))
+                defaults={
+                    'comment' : comment,
+                    'date' : parse_datetime(str(datetime.strptime(step['DATE'] + " " + step['TIME'], "%d/%m/%Y %H:%M:%S")))
+                }
             )
             
 class ListBooks(APIView):
@@ -138,4 +148,5 @@
             return HttpResponse(status=404)
         
         serializer = SlideSerializer(slide)
-        return Response(serializer.data)
\ No newline at end of file
+        return Response(serializer.data)
+    
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/server/requirements.txt	Mon Mar 23 12:21:17 2015 +0100
@@ -0,0 +1,6 @@
+Django==1.7.6
+django-cors-headers==1.0.0
+django-taggit==0.12.3
+djangorestframework==3.1.0
+psycopg2==2.6
+requests==2.5.3
\ No newline at end of file
--- a/server/settings.py	Mon Mar 23 12:20:28 2015 +0100
+++ b/server/settings.py	Mon Mar 23 12:21:17 2015 +0100
@@ -26,6 +26,8 @@
 
 ALLOWED_HOSTS = []
 
+URL_JAMESPOT = 'http://fui-ammico.jamespot.pro/api/api.php?&k=6c8bfcea247e8a5841288269887d88f0&d=2016-01-31&m=EXT-IRI&v=2.0'
+
 
 # Application definition
 
@@ -73,9 +75,12 @@
 
 DATABASES = {
     'default': {
-        'ENGINE': 'django.db.backends.sqlite3',
-        
-        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
+        'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
+        'NAME': 'ammico_db',                      # Or path to database file if using sqlite3.
+        'USER': 'postgres',                      # Not used with sqlite3.
+        'PASSWORD': 'postgres',                  # Not used with sqlite3.
+        'HOST': 'localhost',                      # Set to empty string for localhost. Not used with sqlite3.
+        'PORT': '5432',                      # Set to empty string for default. Not used with sqlite3.
     }
 }