--- 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.
}
}