Commit fcb6e24e authored by PkSM3's avatar PkSM3

Merge branch 'unstable' of ssh://delanoe.org:1979/gargantext into samuel

parents c0c0431c 7ed5bd85
......@@ -5,7 +5,6 @@ from annotations import views
urlpatterns = patterns('',
url(r'^document/(?P<doc_id>[0-9]+)$', views.Document.as_view()), # document view
url(r'^corpus/(?P<corpus_id>[0-9]+)/document/(?P<doc_id>[0-9]+)$', views.NgramList.as_view()), # the list associated with an ngram
url(r'^lists/(?P<list_id>[0-9]+)/ngrams/(?P<ngram_id>[0-9]+)$', views.NgramEdit.as_view()), #
url(r'^lists/(?P<list_id>[0-9]+)/ngrams/(?P<ngram_ids>(([0-9])+(\+[0-9]+)*)$', views.NgramEdit.as_view()), #
url(r'^lists/(?P<list_id>[0-9]+)/ngrams/create$', views.NgramCreate.as_view()), #
url(r'^lists/(?P<list_id>[0-9]+)/multiple?$', views.deleteMultiple ), # FIXME What's this ?
)
......@@ -12,11 +12,9 @@ from rest_framework.renderers import JSONRenderer
from rest_framework.exceptions import APIException
from rest_framework.authentication import SessionAuthentication, BasicAuthentication
from node.models import Node
from gargantext_web.db import *
from ngram.lists import listIds, listNgramIds
from rest_v1_0.api import JsonHttpResponse
@login_required
......@@ -30,7 +28,6 @@ def main(request, project_id, corpus_id, document_id):
'nodes_api_url': urljoin(request.get_host(), '/api/'),
}, context_instance=RequestContext(request))
class NgramList(APIView):
"""Read and Write Annotations"""
renderer_classes = (JSONRenderer,)
......@@ -59,7 +56,6 @@ class NgramList(APIView):
}}
return Response(data)
class NgramEdit(APIView):
"""
Actions on one existing Ngram in one list
......@@ -67,34 +63,40 @@ class NgramEdit(APIView):
renderer_classes = (JSONRenderer,)
authentication_classes = (SessionAuthentication, BasicAuthentication)
def post(self, request, list_id, ngram_id):
def post(self, request, list_id, ngram_ids):
"""
Edit an existing NGram in a given list
"""
list_id = int(list_id)
ngram_id = int(ngram_id)
# TODO remove the node_ngram from another conflicting list
# FIXME session.query(Node_Ngram).filter(Node_Ngram.ngram_id==ngram_id).delete()
# add the ngram to the list
node_ngram = Node_Ngram(node_id=list_id, ngram_id=ngram_id, weight=1.0)
session.add(node_ngram)
for ngram_id in ngram_ids.split('+'):
ngram_id = int(ngram_id)
node_ngram = Node_Ngram(node_id=list_id, ngram_id=ngram_id, weight=1.0)
session.add(node_ngram)
session.commit()
# return the response
return Response({
'uuid': ngram_id,
'list_id': list_id,
})
for ngram_id in ngram_ids})
def delete(self, request, list_id, ngram_id):
def delete(self, request, list_id, ngram_ids):
"""
Delete a ngram from a list
"""
session.query(Node_Ngram).filter(Node_Ngram.node_id==list_id).filter(Node_Ngram.ngram_id==ngram_id).delete()
for ngram_id in ngram_ids.split('+'):
ngram_id = int(ngram_id)
(session.query(Node_Ngram)
.filter(Node_Ngram.node_id==list_id)
.filter(Node_Ngram.ngram_id==ngram_id).delete()
)
session.commit()
return Response(None, 204)
class NgramCreate(APIView):
"""
Create a new Ngram in one list
......@@ -140,27 +142,6 @@ class NgramCreate(APIView):
})
def deleteMultiple(request, list_id):
results = ["hola","mundo"]
user = request.user
if not user.is_authenticated():
return redirect('/login/?next=%s' % request.path)
if request.POST:
todel_ids = json.loads(request.POST['to_delete'])
for ngram_id in todel_ids:
# add the ngram to the list if not already done
node_ngram = session.query(Node_Ngram).filter(Node_Ngram.node_id==list_id).filter(Node_Ngram.ngram_id==ngram_id).first()
if node_ngram is None:
node_ngram = Node_Ngram(node_id=list_id, ngram_id=ngram_id, weight=1.0)
session.add(node_ngram)
session.commit()
return JsonHttpResponse(results)
class Document(APIView):
"""
Read-only Document view, similar to /api/nodes/
......
A
ABOUT
ABOVE
ACCORDING
ACROSS
ACTUAL
ADDED
AFTER
AGAINST
AHEAD
ALL
ALMOST
ALONE
ALONG
ALSO
AMONG
AMONGST
AN
AND
AND-OR
AND/OR
ANON
ANOTHER
ANY
ARE
ARISING
AROUND
AS
AT
AWARD
AWAY
BE
BECAUSE
BECOME
BECOMES
BEEN
BEFORE
BEHIND
BEING
BELOW
BEST
BETTER
BETWEEN
BEYOND
BIRTHDAY
BOTH
BUT
BY
CAN
CERTAIN
COME
COMES
COMING
COMPLETELY
CONCERNING
CONSIDER
CONSIDERED
CONSIDERING
CONSISTING
DE
DEPARTMENT
DER
DESPITE
DISCUSSION
DO
DOES
DOESNT
DOING
DOWN
DR
DU
DUE
DURING
EACH
EITHER
ESPECIALLY
ET
FEW
FOR
FORWARD
FROM
FURTHER
GET
GIVE
GIVEN
GIVING
HAS
HAVE
HAVING
HIS
HONOR
HOW
IN
INSIDE
INSTEAD
INTO
IS
IT
ITEMS
ITS
JUST
LET
LETS
LITTLE
LOOK
LOOKS
MADE
MAKE
MAKES
MAKING
MANY
MEET
MEETS
MORE
MOST
MUCH
MUST
MY
NEAR
NEARLY
NEXT
NOT
NOW
OF
OFF
ON
ONLY
ONTO
OR
OTHER
OUR
OUT
OUTSIDE
OVER
OVERALL
PER
POSSIBLY
PT
PUT
REALLY
REGARDING
REPRINTED
SAME
SEEN
SEVERAL
SHOULD
SHOWN
SINCE
SO-CALLED
SOME
SPP
STUDIES
STUDY
SUCH
TAKE
TAKEN
TAKES
TAKING
THAN
THAT
THE
THEIR
THEM
THEN
THERE
THEREFROM
THESE
THEY
THIS
THOSE
THROUGH
THROUGHOUT
TO
TOGETHER
TOWARD
TOWARDS
UNDER
UNDERGOING
UP
UPON
UPWARD
VARIOUS
VERSUS
VERY
VIA
VOL
VOLS
VS
WAS
WAY
WAYS
WE
WERE
WHAT
WHATS
WHEN
WHERE
WHICH
WHILE
WHITHER
WHO
WHOM
WHOS
WHOSE
WHY
WITH
WITHIN
WITHOUT
YET
YOU
YOUR
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment