Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
gargantext
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
humanities
gargantext
Commits
da2b3252
Commit
da2b3252
authored
Jan 14, 2016
by
delanoe
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[FIX] Remove session with session.remove() when each function is over.
parent
ea335122
Changes
24
Show whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
221 additions
and
84 deletions
+221
-84
cooccurrences.py
analysis/cooccurrences.py
+1
-0
diachronic_specificity.py
analysis/diachronic_specificity.py
+2
-1
lists.py
analysis/lists.py
+8
-0
views.py
annotations/views.py
+9
-3
celery.py
gargantext_web/celery.py
+3
-2
db.py
gargantext_web/db.py
+9
-0
views.py
gargantext_web/views.py
+42
-22
views_optimized.py
gargantext_web/views_optimized.py
+8
-2
cvalue.py
ngram/cvalue.py
+4
-2
group.py
ngram/group.py
+4
-1
importExport.py
ngram/importExport.py
+2
-4
lists.py
ngram/lists.py
+11
-2
mapList.py
ngram/mapList.py
+4
-4
occurrences.py
ngram/occurrences.py
+5
-1
specificity.py
ngram/specificity.py
+5
-2
stemLem.py
ngram/stemLem.py
+5
-1
stop.py
ngram/stop.py
+5
-2
tfidf.py
ngram/tfidf.py
+11
-3
tools.py
ngram/tools.py
+3
-2
corpustools.py
parsing/corpustools.py
+9
-6
api.py
rest_v1_0/api.py
+37
-10
graph.py
rest_v1_0/graph.py
+4
-1
ngrams.py
rest_v1_0/ngrams.py
+26
-6
views.py
scrappers/scrap_pubmed/views.py
+4
-7
No files found.
analysis/cooccurrences.py
View file @
da2b3252
...
@@ -200,3 +200,4 @@ def do_cooc(corpus=None
...
@@ -200,3 +200,4 @@ def do_cooc(corpus=None
cooc
=
matrix
cooc
=
matrix
cooc
.
save
(
node_cooc
.
id
)
cooc
.
save
(
node_cooc
.
id
)
return
(
node_cooc
.
id
)
return
(
node_cooc
.
id
)
session
.
remove
()
analysis/diachronic_specificity.py
View file @
da2b3252
...
@@ -9,7 +9,6 @@ import numpy as np
...
@@ -9,7 +9,6 @@ import numpy as np
import
collections
import
collections
session
=
get_session
()
def
result2dict
(
query
):
def
result2dict
(
query
):
results
=
dict
()
results
=
dict
()
...
@@ -27,6 +26,7 @@ def diachronic_specificity(corpus_id, terms, order=True):
...
@@ -27,6 +26,7 @@ def diachronic_specificity(corpus_id, terms, order=True):
Values are measure to indicate diachronic specificity.
Values are measure to indicate diachronic specificity.
Nowadays, the measure is rather simple: distance of frequency of period from mean of frequency of all corpus.
Nowadays, the measure is rather simple: distance of frequency of period from mean of frequency of all corpus.
'''
'''
session
=
get_session
()
ngram_frequency_query
=
(
session
ngram_frequency_query
=
(
session
.
query
(
Node
.
hyperdata
[
'publication_year'
],
func
.
count
(
'*'
))
.
query
(
Node
.
hyperdata
[
'publication_year'
],
func
.
count
(
'*'
))
.
join
(
NodeNgram
,
Node
.
id
==
NodeNgram
.
node_id
)
.
join
(
NodeNgram
,
Node
.
id
==
NodeNgram
.
node_id
)
...
@@ -64,6 +64,7 @@ def diachronic_specificity(corpus_id, terms, order=True):
...
@@ -64,6 +64,7 @@ def diachronic_specificity(corpus_id, terms, order=True):
else
:
else
:
return
relative_terms_count
return
relative_terms_count
session
.
remove
()
# For tests
# For tests
# diachronic_specificity(102750, "bayer", order=True)
# diachronic_specificity(102750, "bayer", order=True)
...
...
analysis/lists.py
View file @
da2b3252
...
@@ -76,6 +76,7 @@ class Translations(BaseClass):
...
@@ -76,6 +76,7 @@ class Translations(BaseClass):
self
.
groups
=
defaultdict
(
set
)
self
.
groups
=
defaultdict
(
set
)
for
key
,
value
in
self
.
items
.
items
():
for
key
,
value
in
self
.
items
.
items
():
self
.
groups
[
value
]
.
add
(
key
)
self
.
groups
[
value
]
.
add
(
key
)
session
.
remove
()
elif
isinstance
(
other
,
Translations
):
elif
isinstance
(
other
,
Translations
):
self
.
items
=
other
.
items
.
copy
()
self
.
items
=
other
.
items
.
copy
()
self
.
groups
=
other
.
groups
.
copy
()
self
.
groups
=
other
.
groups
.
copy
()
...
@@ -128,6 +129,7 @@ class Translations(BaseClass):
...
@@ -128,6 +129,7 @@ class Translations(BaseClass):
(
'node_id'
,
'ngramy_id'
,
'ngramx_id'
,
'score'
),
(
'node_id'
,
'ngramy_id'
,
'ngramx_id'
,
'score'
),
((
node_id
,
key
,
value
,
1.0
)
for
key
,
value
in
self
.
items
.
items
())
((
node_id
,
key
,
value
,
1.0
)
for
key
,
value
in
self
.
items
.
items
())
)
)
session
.
remove
()
class
WeightedMatrix
(
BaseClass
):
class
WeightedMatrix
(
BaseClass
):
...
@@ -144,6 +146,7 @@ class WeightedMatrix(BaseClass):
...
@@ -144,6 +146,7 @@ class WeightedMatrix(BaseClass):
self
.
items
=
defaultdict
(
lambda
:
defaultdict
(
float
))
self
.
items
=
defaultdict
(
lambda
:
defaultdict
(
float
))
for
key1
,
key2
,
value
in
self
.
items
.
items
():
for
key1
,
key2
,
value
in
self
.
items
.
items
():
self
.
items
[
key1
][
key2
]
=
value
self
.
items
[
key1
][
key2
]
=
value
session
.
remove
()
elif
isinstance
(
other
,
WeightedMatrix
):
elif
isinstance
(
other
,
WeightedMatrix
):
self
.
items
=
defaultdict
(
lambda
:
defaultdict
(
float
))
self
.
items
=
defaultdict
(
lambda
:
defaultdict
(
float
))
for
key1
,
key2
,
value
in
other
:
for
key1
,
key2
,
value
in
other
:
...
@@ -171,6 +174,7 @@ class WeightedMatrix(BaseClass):
...
@@ -171,6 +174,7 @@ class WeightedMatrix(BaseClass):
(
'node_id'
,
'ngramx_id'
,
'ngramy_id'
,
'score'
),
(
'node_id'
,
'ngramx_id'
,
'ngramy_id'
,
'score'
),
((
node_id
,
key1
,
key2
,
value
)
for
key1
,
key2
,
value
in
self
)
((
node_id
,
key1
,
key2
,
value
)
for
key1
,
key2
,
value
in
self
)
)
)
session
.
remove
()
def
__radd__
(
self
,
other
):
def
__radd__
(
self
,
other
):
result
=
NotImplemented
result
=
NotImplemented
...
@@ -253,6 +257,7 @@ class UnweightedList(BaseClass):
...
@@ -253,6 +257,7 @@ class UnweightedList(BaseClass):
.
filter
(
NodeNgram
.
node_id
==
other
)
.
filter
(
NodeNgram
.
node_id
==
other
)
)
)
self
.
items
=
{
row
[
0
]
for
row
in
query
}
self
.
items
=
{
row
[
0
]
for
row
in
query
}
session
.
remove
()
elif
isinstance
(
other
,
WeightedList
):
elif
isinstance
(
other
,
WeightedList
):
self
.
items
=
set
(
other
.
items
.
keys
())
self
.
items
=
set
(
other
.
items
.
keys
())
elif
isinstance
(
other
,
UnweightedList
):
elif
isinstance
(
other
,
UnweightedList
):
...
@@ -337,6 +342,7 @@ class UnweightedList(BaseClass):
...
@@ -337,6 +342,7 @@ class UnweightedList(BaseClass):
(
'node_id'
,
'ngram_id'
,
'weight'
),
(
'node_id'
,
'ngram_id'
,
'weight'
),
((
node_id
,
key
,
1.0
)
for
key
in
self
.
items
)
((
node_id
,
key
,
1.0
)
for
key
in
self
.
items
)
)
)
session
.
remove
()
class
WeightedList
(
BaseClass
):
class
WeightedList
(
BaseClass
):
...
@@ -351,6 +357,7 @@ class WeightedList(BaseClass):
...
@@ -351,6 +357,7 @@ class WeightedList(BaseClass):
.
filter
(
NodeNgram
.
node_id
==
other
)
.
filter
(
NodeNgram
.
node_id
==
other
)
)
)
self
.
items
=
defaultdict
(
float
,
query
)
self
.
items
=
defaultdict
(
float
,
query
)
session
.
remove
()
elif
isinstance
(
other
,
WeightedList
):
elif
isinstance
(
other
,
WeightedList
):
self
.
items
=
other
.
items
.
copy
()
self
.
items
=
other
.
items
.
copy
()
elif
isinstance
(
other
,
UnweightedList
):
elif
isinstance
(
other
,
UnweightedList
):
...
@@ -451,6 +458,7 @@ class WeightedList(BaseClass):
...
@@ -451,6 +458,7 @@ class WeightedList(BaseClass):
(
'node_id'
,
'ngram_id'
,
'weight'
),
(
'node_id'
,
'ngram_id'
,
'weight'
),
((
node_id
,
key
,
value
)
for
key
,
value
in
self
.
items
.
items
())
((
node_id
,
key
,
value
)
for
key
,
value
in
self
.
items
.
items
())
)
)
session
.
remove
()
def
test
():
def
test
():
...
...
annotations/views.py
View file @
da2b3252
...
@@ -63,12 +63,12 @@ class NgramEdit(APIView):
...
@@ -63,12 +63,12 @@ class NgramEdit(APIView):
"""
"""
renderer_classes
=
(
JSONRenderer
,)
renderer_classes
=
(
JSONRenderer
,)
authentication_classes
=
(
SessionAuthentication
,
BasicAuthentication
)
authentication_classes
=
(
SessionAuthentication
,
BasicAuthentication
)
session
=
get_session
()
def
post
(
self
,
request
,
list_id
,
ngram_ids
):
def
post
(
self
,
request
,
list_id
,
ngram_ids
):
"""
"""
Edit an existing NGram in a given list
Edit an existing NGram in a given list
"""
"""
session
=
get_session
()
list_id
=
int
(
list_id
)
list_id
=
int
(
list_id
)
list_node
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
list_id
)
.
first
()
list_node
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
list_id
)
.
first
()
# TODO add 1 for MapList social score ?
# TODO add 1 for MapList social score ?
...
@@ -91,6 +91,8 @@ class NgramEdit(APIView):
...
@@ -91,6 +91,8 @@ class NgramEdit(APIView):
'list_id'
:
list_id
,
'list_id'
:
list_id
,
}
for
ngram_id
in
ngram_ids
)
}
for
ngram_id
in
ngram_ids
)
session
.
remove
()
def
put
(
self
,
request
,
list_id
,
ngram_ids
):
def
put
(
self
,
request
,
list_id
,
ngram_ids
):
return
Response
(
None
,
204
)
return
Response
(
None
,
204
)
...
@@ -98,6 +100,7 @@ class NgramEdit(APIView):
...
@@ -98,6 +100,7 @@ class NgramEdit(APIView):
"""
"""
Delete a ngram from a list
Delete a ngram from a list
"""
"""
session
=
get_session
()
print
(
"to del"
,
ngram_ids
)
print
(
"to del"
,
ngram_ids
)
for
ngram_id
in
ngram_ids
.
split
(
'+'
):
for
ngram_id
in
ngram_ids
.
split
(
'+'
):
print
(
'ngram_id'
,
ngram_id
)
print
(
'ngram_id'
,
ngram_id
)
...
@@ -128,6 +131,7 @@ class NgramEdit(APIView):
...
@@ -128,6 +131,7 @@ class NgramEdit(APIView):
# [ = = = = / del from map-list = = = = ]
# [ = = = = / del from map-list = = = = ]
return
Response
(
None
,
204
)
return
Response
(
None
,
204
)
session
.
remove
()
class
NgramCreate
(
APIView
):
class
NgramCreate
(
APIView
):
"""
"""
...
@@ -135,7 +139,6 @@ class NgramCreate(APIView):
...
@@ -135,7 +139,6 @@ class NgramCreate(APIView):
"""
"""
renderer_classes
=
(
JSONRenderer
,)
renderer_classes
=
(
JSONRenderer
,)
authentication_classes
=
(
SessionAuthentication
,
BasicAuthentication
)
authentication_classes
=
(
SessionAuthentication
,
BasicAuthentication
)
session
=
get_session
()
def
post
(
self
,
request
,
list_id
):
def
post
(
self
,
request
,
list_id
):
"""
"""
...
@@ -143,6 +146,7 @@ class NgramCreate(APIView):
...
@@ -143,6 +146,7 @@ class NgramCreate(APIView):
example: request.data = {'text': 'phylogeny'}
example: request.data = {'text': 'phylogeny'}
"""
"""
session
=
get_session
()
list_id
=
int
(
list_id
)
list_id
=
int
(
list_id
)
# format the ngram's text
# format the ngram's text
ngram_text
=
request
.
data
.
get
(
'text'
,
None
)
ngram_text
=
request
.
data
.
get
(
'text'
,
None
)
...
@@ -177,6 +181,7 @@ class NgramCreate(APIView):
...
@@ -177,6 +181,7 @@ class NgramCreate(APIView):
'list_id'
:
list_id
,
'list_id'
:
list_id
,
})
})
session
.
remove
()
class
Document
(
APIView
):
class
Document
(
APIView
):
"""
"""
...
@@ -186,6 +191,7 @@ class Document(APIView):
...
@@ -186,6 +191,7 @@ class Document(APIView):
def
get
(
self
,
request
,
doc_id
):
def
get
(
self
,
request
,
doc_id
):
"""Document by ID"""
"""Document by ID"""
session
=
get_session
()
node
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
doc_id
)
.
first
()
node
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
doc_id
)
.
first
()
if
node
is
None
:
if
node
is
None
:
raise
APIException
(
'This node does not exist'
,
404
)
raise
APIException
(
'This node does not exist'
,
404
)
...
@@ -207,5 +213,5 @@ class Document(APIView):
...
@@ -207,5 +213,5 @@ class Document(APIView):
'id'
:
node
.
id
'id'
:
node
.
id
}
}
return
Response
(
data
)
return
Response
(
data
)
session
.
remove
()
gargantext_web/celery.py
View file @
da2b3252
...
@@ -20,7 +20,7 @@ def apply_sum(x, y):
...
@@ -20,7 +20,7 @@ def apply_sum(x, y):
print
(
x
+
y
)
print
(
x
+
y
)
session
=
get_session
()
session
=
get_session
()
print
(
session
.
query
(
Node
.
name
)
.
first
())
print
(
session
.
query
(
Node
.
name
)
.
first
())
session
.
remove
()
from
parsing.corpustools
import
parse_resources
,
extract_ngrams
#add_resource,
from
parsing.corpustools
import
parse_resources
,
extract_ngrams
#add_resource,
from
ngram.lists
import
ngrams2miam
from
ngram.lists
import
ngrams2miam
...
@@ -53,6 +53,7 @@ def apply_workflow(corpus_id):
...
@@ -53,6 +53,7 @@ def apply_workflow(corpus_id):
print
(
"End of the Workflow for corpus
%
d"
%
(
corpus_id
))
print
(
"End of the Workflow for corpus
%
d"
%
(
corpus_id
))
update_state
.
processing_
(
corpus
,
"0"
)
update_state
.
processing_
(
corpus
,
"0"
)
session
.
remove
()
@
shared_task
@
shared_task
def
empty_trash
(
corpus_id
):
def
empty_trash
(
corpus_id
):
...
...
gargantext_web/db.py
View file @
da2b3252
...
@@ -168,6 +168,7 @@ class ModelCache(dict):
...
@@ -168,6 +168,7 @@ class ModelCache(dict):
raise
KeyError
raise
KeyError
self
[
key
]
=
element
self
[
key
]
=
element
return
element
return
element
session
.
remove
()
def
preload
(
self
):
def
preload
(
self
):
self
.
clear
()
self
.
clear
()
...
@@ -176,6 +177,7 @@ class ModelCache(dict):
...
@@ -176,6 +177,7 @@ class ModelCache(dict):
for
column_name
in
self
.
_columns_names
:
for
column_name
in
self
.
_columns_names
:
key
=
getattr
(
element
,
column_name
)
key
=
getattr
(
element
,
column_name
)
self
[
key
]
=
element
self
[
key
]
=
element
session
.
remove
()
class
Cache
():
class
Cache
():
...
@@ -243,8 +245,11 @@ def get_or_create_node(nodetype=None,corpus=None,corpus_id=None,name_str=None,hy
...
@@ -243,8 +245,11 @@ def get_or_create_node(nodetype=None,corpus=None,corpus_id=None,name_str=None,hy
name_str :: String
name_str :: String
hyperdata :: Dict
hyperdata :: Dict
'''
'''
sessionToRemove
=
False
if
session
is
None
:
if
session
is
None
:
session
=
get_session
()
session
=
get_session
()
sessionToRemove
=
True
if
nodetype
is
None
:
if
nodetype
is
None
:
print
(
"Need to give a type node"
)
print
(
"Need to give a type node"
)
...
@@ -285,3 +290,7 @@ def get_or_create_node(nodetype=None,corpus=None,corpus_id=None,name_str=None,hy
...
@@ -285,3 +290,7 @@ def get_or_create_node(nodetype=None,corpus=None,corpus_id=None,name_str=None,hy
session
.
commit
()
session
.
commit
()
#print(parent_id, n.parent_id, n.id, n.name)
#print(parent_id, n.parent_id, n.id, n.name)
return
(
node
)
return
(
node
)
if
sessionToRemove
:
session
.
remove
()
gargantext_web/views.py
View file @
da2b3252
...
@@ -220,6 +220,7 @@ def projects(request):
...
@@ -220,6 +220,7 @@ def projects(request):
Each project is described with hyperdata that are updateded on each following view.
Each project is described with hyperdata that are updateded on each following view.
To each project, we can link a resource that can be an image.
To each project, we can link a resource that can be an image.
'''
'''
session
=
get_session
()
if
not
request
.
user
.
is_authenticated
():
if
not
request
.
user
.
is_authenticated
():
return
redirect
(
'/auth/'
)
return
redirect
(
'/auth/'
)
...
@@ -230,7 +231,6 @@ def projects(request):
...
@@ -230,7 +231,6 @@ def projects(request):
date
=
datetime
.
datetime
.
now
()
date
=
datetime
.
datetime
.
now
()
# print(Logger.write("STATIC_ROOT"))
# print(Logger.write("STATIC_ROOT"))
session
=
get_session
()
projects
=
session
.
query
(
Node
)
.
filter
(
Node
.
user_id
==
user_id
,
Node
.
type_id
==
project_type_id
)
.
order_by
(
Node
.
date
)
.
all
()
projects
=
session
.
query
(
Node
)
.
filter
(
Node
.
user_id
==
user_id
,
Node
.
type_id
==
project_type_id
)
.
order_by
(
Node
.
date
)
.
all
()
number
=
len
(
projects
)
number
=
len
(
projects
)
...
@@ -288,7 +288,7 @@ def projects(request):
...
@@ -288,7 +288,7 @@ def projects(request):
'common_projects'
:
common_projects
,
'common_projects'
:
common_projects
,
'common_users'
:
common_users
,
'common_users'
:
common_users
,
})
})
session
.
remove
()
def
update_nodes
(
request
,
project_id
,
corpus_id
,
view
=
None
):
def
update_nodes
(
request
,
project_id
,
corpus_id
,
view
=
None
):
'''
'''
...
@@ -297,10 +297,11 @@ def update_nodes(request, project_id, corpus_id, view=None):
...
@@ -297,10 +297,11 @@ def update_nodes(request, project_id, corpus_id, view=None):
- permanent deletion of Trash
- permanent deletion of Trash
'''
'''
session
=
get_session
()
if
not
request
.
user
.
is_authenticated
():
if
not
request
.
user
.
is_authenticated
():
return
redirect
(
'/login/?next=
%
s'
%
request
.
path
)
return
redirect
(
'/login/?next=
%
s'
%
request
.
path
)
session
=
get_session
()
try
:
try
:
offset
=
int
(
project_id
)
offset
=
int
(
project_id
)
offset
=
int
(
corpus_id
)
offset
=
int
(
corpus_id
)
...
@@ -358,8 +359,12 @@ def update_nodes(request, project_id, corpus_id, view=None):
...
@@ -358,8 +359,12 @@ def update_nodes(request, project_id, corpus_id, view=None):
# context_instance=RequestContext(request)
# context_instance=RequestContext(request)
# )
# )
#
#
session
.
remove
()
def
corpus
(
request
,
project_id
,
corpus_id
):
def
corpus
(
request
,
project_id
,
corpus_id
):
session
=
get_session
()
if
not
request
.
user
.
is_authenticated
():
if
not
request
.
user
.
is_authenticated
():
return
redirect
(
'/login/?next=
%
s'
%
request
.
path
)
return
redirect
(
'/login/?next=
%
s'
%
request
.
path
)
...
@@ -378,7 +383,6 @@ def corpus(request, project_id, corpus_id):
...
@@ -378,7 +383,6 @@ def corpus(request, project_id, corpus_id):
type_doc_id
=
cache
.
NodeType
[
'Document'
]
.
id
type_doc_id
=
cache
.
NodeType
[
'Document'
]
.
id
session
=
get_session
()
number
=
session
.
query
(
func
.
count
(
Node
.
id
))
.
filter
(
Node
.
parent_id
==
corpus_id
,
Node
.
type_id
==
type_doc_id
)
.
all
()[
0
][
0
]
number
=
session
.
query
(
func
.
count
(
Node
.
id
))
.
filter
(
Node
.
parent_id
==
corpus_id
,
Node
.
type_id
==
type_doc_id
)
.
all
()[
0
][
0
]
...
@@ -405,15 +409,15 @@ def corpus(request, project_id, corpus_id):
...
@@ -405,15 +409,15 @@ def corpus(request, project_id, corpus_id):
}))
}))
return
HttpResponse
(
html
)
return
HttpResponse
(
html
)
session
.
remove
()
def
newpaginatorJSON
(
request
,
corpus_id
):
def
newpaginatorJSON
(
request
,
corpus_id
):
results
=
[
"hola"
,
"mundo"
]
session
=
get_session
()
# t = get_template('tests/newpag/thetable.html')
# t = get_template('tests/newpag/thetable.html')
# project = session.query(Node).filter(Node.id==project_id).first()
# project = session.query(Node).filter(Node.id==project_id).first()
session
=
get_session
()
corpus
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
corpus_id
)
.
first
()
corpus
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
corpus_id
)
.
first
()
type_document_id
=
cache
.
NodeType
[
'Document'
]
.
id
type_document_id
=
cache
.
NodeType
[
'Document'
]
.
id
user_id
=
request
.
user
.
id
user_id
=
request
.
user
.
id
...
@@ -464,11 +468,11 @@ def newpaginatorJSON(request , corpus_id):
...
@@ -464,11 +468,11 @@ def newpaginatorJSON(request , corpus_id):
"totalRecordCount"
:
len
(
results
)
"totalRecordCount"
:
len
(
results
)
}
}
return
JsonHttpResponse
(
finaldict
)
return
JsonHttpResponse
(
finaldict
)
session
.
remove
()
def
move_to_trash
(
node_id
):
def
move_to_trash
(
node_id
):
try
:
session
=
get_session
()
session
=
get_session
()
try
:
node
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
node_id
)
.
first
()
node
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
node_id
)
.
first
()
previous_type_id
=
node
.
type_id
previous_type_id
=
node
.
type_id
...
@@ -487,8 +491,13 @@ def move_to_trash(node_id):
...
@@ -487,8 +491,13 @@ def move_to_trash(node_id):
except
Exception
as
error
:
except
Exception
as
error
:
print
(
"can not move to trash Node"
+
str
(
node_id
)
+
":"
+
str
(
error
))
print
(
"can not move to trash Node"
+
str
(
node_id
)
+
":"
+
str
(
error
))
session
.
remove
()
def
move_to_trash_multiple
(
request
):
def
move_to_trash_multiple
(
request
):
session
=
get_session
()
user
=
request
.
user
user
=
request
.
user
if
not
user
.
is_authenticated
():
if
not
user
.
is_authenticated
():
return
redirect
(
'/login/?next=
%
s'
%
request
.
path
)
return
redirect
(
'/login/?next=
%
s'
%
request
.
path
)
...
@@ -498,7 +507,6 @@ def move_to_trash_multiple(request):
...
@@ -498,7 +507,6 @@ def move_to_trash_multiple(request):
nodes2trash
=
json
.
loads
(
request
.
POST
[
"nodeids"
])
nodes2trash
=
json
.
loads
(
request
.
POST
[
"nodeids"
])
print
(
"nodes to the trash:"
)
print
(
"nodes to the trash:"
)
print
(
nodes2trash
)
print
(
nodes2trash
)
session
=
get_session
()
nodes
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
.
in_
(
nodes2trash
))
.
all
()
nodes
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
.
in_
(
nodes2trash
))
.
all
()
for
node
in
nodes
:
for
node
in
nodes
:
node
.
type_id
=
cache
.
NodeType
[
'Trash'
]
.
id
node
.
type_id
=
cache
.
NodeType
[
'Trash'
]
.
id
...
@@ -509,13 +517,15 @@ def move_to_trash_multiple(request):
...
@@ -509,13 +517,15 @@ def move_to_trash_multiple(request):
results
=
[
"tudo"
,
"fixe"
]
results
=
[
"tudo"
,
"fixe"
]
return
JsonHttpResponse
(
results
)
return
JsonHttpResponse
(
results
)
session
.
remove
()
def
delete_node
(
request
,
node_id
):
def
delete_node
(
request
,
node_id
):
session
=
get_session
()
# do we have a valid user?
# do we have a valid user?
user
=
request
.
user
user
=
request
.
user
session
=
get_session
()
node
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
node_id
)
.
first
()
node
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
node_id
)
.
first
()
if
not
user
.
is_authenticated
():
if
not
user
.
is_authenticated
():
...
@@ -532,6 +542,7 @@ def delete_node(request, node_id):
...
@@ -532,6 +542,7 @@ def delete_node(request, node_id):
else
:
else
:
return
HttpResponseRedirect
(
'/projects/'
)
return
HttpResponseRedirect
(
'/projects/'
)
session
.
remove
()
def
delete_corpus
(
request
,
project_id
,
node_id
):
def
delete_corpus
(
request
,
project_id
,
node_id
):
# ORM Django
# ORM Django
...
@@ -553,11 +564,12 @@ def delete_corpus(request, project_id, node_id):
...
@@ -553,11 +564,12 @@ def delete_corpus(request, project_id, node_id):
def
chart
(
request
,
project_id
,
corpus_id
):
def
chart
(
request
,
project_id
,
corpus_id
):
''' Charts to compare, filter, count'''
''' Charts to compare, filter, count'''
session
=
get_session
()
t
=
get_template
(
'chart.html'
)
t
=
get_template
(
'chart.html'
)
user
=
request
.
user
user
=
request
.
user
date
=
datetime
.
datetime
.
now
()
date
=
datetime
.
datetime
.
now
()
session
=
get_session
()
project
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
project_id
)
.
first
()
project
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
project_id
)
.
first
()
corpus
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
corpus_id
)
.
first
()
corpus
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
corpus_id
)
.
first
()
...
@@ -569,13 +581,15 @@ def chart(request, project_id, corpus_id):
...
@@ -569,13 +581,15 @@ def chart(request, project_id, corpus_id):
'corpus'
:
corpus
,
'corpus'
:
corpus
,
}))
}))
return
HttpResponse
(
html
)
return
HttpResponse
(
html
)
session
.
remove
()
def
sankey
(
request
,
corpus_id
):
def
sankey
(
request
,
corpus_id
):
session
=
get_session
()
t
=
get_template
(
'sankey.html'
)
t
=
get_template
(
'sankey.html'
)
user
=
request
.
user
user
=
request
.
user
date
=
datetime
.
datetime
.
now
()
date
=
datetime
.
datetime
.
now
()
session
=
get_session
()
corpus
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
corpus_id
)
.
first
()
corpus
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
corpus_id
)
.
first
()
html
=
t
.
render
(
Context
({
\
html
=
t
.
render
(
Context
({
\
...
@@ -586,15 +600,15 @@ def sankey(request, corpus_id):
...
@@ -586,15 +600,15 @@ def sankey(request, corpus_id):
}))
}))
return
HttpResponse
(
html
)
return
HttpResponse
(
html
)
session
.
remove
()
def
matrix
(
request
,
project_id
,
corpus_id
):
def
matrix
(
request
,
project_id
,
corpus_id
):
session
=
get_session
()
t
=
get_template
(
'matrix.html'
)
t
=
get_template
(
'matrix.html'
)
user
=
request
.
user
user
=
request
.
user
date
=
datetime
.
datetime
.
now
()
date
=
datetime
.
datetime
.
now
()
session
=
get_session
()
project
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
project_id
)
.
first
()
project
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
project_id
)
.
first
()
corpus
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
corpus_id
)
.
first
()
corpus
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
corpus_id
)
.
first
()
...
@@ -607,13 +621,15 @@ def matrix(request, project_id, corpus_id):
...
@@ -607,13 +621,15 @@ def matrix(request, project_id, corpus_id):
}))
}))
return
HttpResponse
(
html
)
return
HttpResponse
(
html
)
session
.
remove
()
def
graph
(
request
,
project_id
,
corpus_id
,
generic
=
100
,
specific
=
100
):
def
graph
(
request
,
project_id
,
corpus_id
,
generic
=
100
,
specific
=
100
):
session
=
get_session
()
t
=
get_template
(
'explorer.html'
)
t
=
get_template
(
'explorer.html'
)
user
=
request
.
user
user
=
request
.
user
date
=
datetime
.
datetime
.
now
()
date
=
datetime
.
datetime
.
now
()
session
=
get_session
()
project
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
project_id
)
.
first
()
project
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
project_id
)
.
first
()
corpus
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
corpus_id
)
.
first
()
corpus
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
corpus_id
)
.
first
()
...
@@ -638,6 +654,7 @@ def graph(request, project_id, corpus_id, generic=100, specific=100):
...
@@ -638,6 +654,7 @@ def graph(request, project_id, corpus_id, generic=100, specific=100):
}))
}))
return
HttpResponse
(
html
)
return
HttpResponse
(
html
)
session
.
remove
()
def
exploration
(
request
):
def
exploration
(
request
):
t
=
get_template
(
'exploration.html'
)
t
=
get_template
(
'exploration.html'
)
...
@@ -672,12 +689,13 @@ def corpus_csv(request, project_id, corpus_id):
...
@@ -672,12 +689,13 @@ def corpus_csv(request, project_id, corpus_id):
'''
'''
Create the HttpResponse object with the appropriate CSV header.
Create the HttpResponse object with the appropriate CSV header.
'''
'''
session
=
get_session
()
response
=
HttpResponse
(
content_type
=
'text/csv'
)
response
=
HttpResponse
(
content_type
=
'text/csv'
)
response
[
'Content-Disposition'
]
=
'attachment; filename="corpus.csv"'
response
[
'Content-Disposition'
]
=
'attachment; filename="corpus.csv"'
writer
=
csv
.
writer
(
response
)
writer
=
csv
.
writer
(
response
)
session
=
get_session
()
corpus_id
=
session
.
query
(
Node
.
id
)
.
filter
(
Node
.
id
==
corpus_id
)
.
first
()
corpus_id
=
session
.
query
(
Node
.
id
)
.
filter
(
Node
.
id
==
corpus_id
)
.
first
()
type_document_id
=
cache
.
NodeType
[
'Document'
]
.
id
type_document_id
=
cache
.
NodeType
[
'Document'
]
.
id
documents
=
session
.
query
(
Node
)
.
filter
(
Node
.
parent_id
==
corpus_id
,
Node
.
type_id
==
type_document_id
)
.
all
()
documents
=
session
.
query
(
Node
)
.
filter
(
Node
.
parent_id
==
corpus_id
,
Node
.
type_id
==
type_document_id
)
.
all
()
...
@@ -700,6 +718,7 @@ def corpus_csv(request, project_id, corpus_id):
...
@@ -700,6 +718,7 @@ def corpus_csv(request, project_id, corpus_id):
return
response
return
response
session
.
remove
()
def
send_csv
(
request
,
corpus_id
):
def
send_csv
(
request
,
corpus_id
):
'''
'''
...
@@ -748,17 +767,17 @@ def node_link(request, corpus_id):
...
@@ -748,17 +767,17 @@ def node_link(request, corpus_id):
'''
'''
Create the HttpResponse object with the node_link dataset.
Create the HttpResponse object with the node_link dataset.
'''
'''
data
=
[]
session
=
get_session
()
session
=
get_session
()
data
=
[]
corpus
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
corpus_id
)
.
first
()
corpus
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
corpus_id
)
.
first
()
data
=
get_cooc
(
request
=
request
,
corpus
=
corpus
,
type
=
"node_link"
)
data
=
get_cooc
(
request
=
request
,
corpus
=
corpus
,
type
=
"node_link"
)
return
JsonHttpResponse
(
data
)
return
JsonHttpResponse
(
data
)
session
.
remove
()
def
sankey_csv
(
request
,
corpus_id
):
def
sankey_csv
(
request
,
corpus_id
):
data
=
[]
session
=
get_session
()
session
=
get_session
()
data
=
[]
corpus
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
corpus_id
)
.
first
()
corpus
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
corpus_id
)
.
first
()
data
=
[
data
=
[
[
"source"
,
"target"
,
"value"
]
[
"source"
,
"target"
,
"value"
]
...
@@ -775,6 +794,7 @@ def sankey_csv(request, corpus_id):
...
@@ -775,6 +794,7 @@ def sankey_csv(request, corpus_id):
,
[
"Theme_3"
,
"Reco_par_5"
,
1
]
,
[
"Theme_3"
,
"Reco_par_5"
,
1
]
]
]
return
(
CsvHttpResponse
(
data
))
return
(
CsvHttpResponse
(
data
))
session
.
remove
()
def
adjacency
(
request
,
corpus_id
):
def
adjacency
(
request
,
corpus_id
):
'''
'''
...
...
gargantext_web/views_optimized.py
View file @
da2b3252
...
@@ -199,6 +199,8 @@ def project(request, project_id):
...
@@ -199,6 +199,8 @@ def project(request, project_id):
'number'
:
corpora_count
,
'number'
:
corpora_count
,
})
})
session
.
remove
()
def
tfidf
(
request
,
corpus_id
,
ngram_ids
):
def
tfidf
(
request
,
corpus_id
,
ngram_ids
):
"""Takes IDs of corpus and ngram and returns list of relevent documents in json format
"""Takes IDs of corpus and ngram and returns list of relevent documents in json format
according to TFIDF score (order is decreasing).
according to TFIDF score (order is decreasing).
...
@@ -254,12 +256,14 @@ def tfidf(request, corpus_id, ngram_ids):
...
@@ -254,12 +256,14 @@ def tfidf(request, corpus_id, ngram_ids):
nodes_list
.
append
(
node_dict
)
nodes_list
.
append
(
node_dict
)
return
JsonHttpResponse
(
nodes_list
)
return
JsonHttpResponse
(
nodes_list
)
session
.
remove
()
def
getCorpusIntersection
(
request
,
corpuses_ids
):
def
getCorpusIntersection
(
request
,
corpuses_ids
):
FinalDict
=
False
session
=
get_session
()
session
=
get_session
()
FinalDict
=
False
if
request
.
method
==
'POST'
and
"nodeids"
in
request
.
POST
and
len
(
request
.
POST
[
"nodeids"
])
>
0
:
if
request
.
method
==
'POST'
and
"nodeids"
in
request
.
POST
and
len
(
request
.
POST
[
"nodeids"
])
>
0
:
import
ast
import
ast
node_ids
=
[
int
(
i
)
for
i
in
(
ast
.
literal_eval
(
request
.
POST
[
"nodeids"
]
))
]
node_ids
=
[
int
(
i
)
for
i
in
(
ast
.
literal_eval
(
request
.
POST
[
"nodeids"
]
))
]
...
@@ -303,15 +307,16 @@ def getCorpusIntersection(request , corpuses_ids):
...
@@ -303,15 +307,16 @@ def getCorpusIntersection(request , corpuses_ids):
# Getting AVG-COOC of each ngram that exists in the cooc-matrix of the compared-corpus.
# Getting AVG-COOC of each ngram that exists in the cooc-matrix of the compared-corpus.
return
JsonHttpResponse
(
FinalDict
)
return
JsonHttpResponse
(
FinalDict
)
session
.
remove
()
def
getUserPortfolio
(
request
,
project_id
):
def
getUserPortfolio
(
request
,
project_id
):
session
=
get_session
()
user
=
request
.
user
user
=
request
.
user
user_id
=
cache
.
User
[
request
.
user
.
username
]
.
id
user_id
=
cache
.
User
[
request
.
user
.
username
]
.
id
project_type_id
=
cache
.
NodeType
[
'Project'
]
.
id
project_type_id
=
cache
.
NodeType
[
'Project'
]
.
id
corpus_type_id
=
cache
.
NodeType
[
'Corpus'
]
.
id
corpus_type_id
=
cache
.
NodeType
[
'Corpus'
]
.
id
results
=
{}
results
=
{}
session
=
get_session
()
projs
=
session
.
query
(
Node
)
.
filter
(
Node
.
user_id
==
user_id
,
Node
.
type_id
==
project_type_id
)
.
all
()
projs
=
session
.
query
(
Node
)
.
filter
(
Node
.
user_id
==
user_id
,
Node
.
type_id
==
project_type_id
)
.
all
()
...
@@ -349,3 +354,4 @@ def getUserPortfolio(request , project_id):
...
@@ -349,3 +354,4 @@ def getUserPortfolio(request , project_id):
return
JsonHttpResponse
(
results
)
return
JsonHttpResponse
(
results
)
session
.
remove
()
ngram/cvalue.py
View file @
da2b3252
...
@@ -41,10 +41,11 @@ def getNgrams(corpus=None, limit=1000):
...
@@ -41,10 +41,11 @@ def getNgrams(corpus=None, limit=1000):
'''
'''
getNgrams :: Corpus -> [(Int, String, String, Float)]
getNgrams :: Corpus -> [(Int, String, String, Float)]
'''
'''
session
=
get_session
()
terms
=
dict
()
terms
=
dict
()
tfidf_node
=
get_or_create_node
(
nodetype
=
'Tfidf (global)'
tfidf_node
=
get_or_create_node
(
nodetype
=
'Tfidf (global)'
,
corpus
=
corpus
)
,
corpus
=
corpus
)
session
=
get_session
()
#print(corpus.name)
#print(corpus.name)
ngrams
=
(
session
.
query
(
Ngram
.
id
,
Ngram
.
terms
,
func
.
sum
(
NodeNgram
.
weight
),
NodeNodeNgram
.
score
)
ngrams
=
(
session
.
query
(
Ngram
.
id
,
Ngram
.
terms
,
func
.
sum
(
NodeNgram
.
weight
),
NodeNodeNgram
.
score
)
.
join
(
NodeNgram
,
NodeNgram
.
ngram_id
==
Ngram
.
id
)
.
join
(
NodeNgram
,
NodeNgram
.
ngram_id
==
Ngram
.
id
)
...
@@ -64,6 +65,7 @@ def getNgrams(corpus=None, limit=1000):
...
@@ -64,6 +65,7 @@ def getNgrams(corpus=None, limit=1000):
except
:
except
:
PrintException
()
PrintException
()
return
(
terms
)
return
(
terms
)
session
.
remove
()
def
compute_cvalue
(
corpus
=
None
,
limit
=
1000
):
def
compute_cvalue
(
corpus
=
None
,
limit
=
1000
):
'''
'''
...
@@ -130,7 +132,7 @@ def compute_cvalue(corpus=None, limit=1000):
...
@@ -130,7 +132,7 @@ def compute_cvalue(corpus=None, limit=1000):
#bulk_insert(NodeNodeNgram, ['nodex_id', 'nodey_id', 'ngram_id', 'score'], [n for n in islice(result,0,100)])
#bulk_insert(NodeNodeNgram, ['nodex_id', 'nodey_id', 'ngram_id', 'score'], [n for n in islice(result,0,100)])
bulk_insert
(
NodeNodeNgram
,
[
'nodex_id'
,
'nodey_id'
,
'ngram_id'
,
'score'
],
[
n
for
n
in
result
])
bulk_insert
(
NodeNodeNgram
,
[
'nodex_id'
,
'nodey_id'
,
'ngram_id'
,
'score'
],
[
n
for
n
in
result
])
session
.
remove
()
# test
# test
#corpus=session.query(Node).filter(Node.id==244250).first()
#corpus=session.query(Node).filter(Node.id==244250).first()
#computeCvalue(corpus)
#computeCvalue(corpus)
ngram/group.py
View file @
da2b3252
...
@@ -52,10 +52,11 @@ def compute_groups(corpus, limit_inf=None, limit_sup=None, how='Stem'):
...
@@ -52,10 +52,11 @@ def compute_groups(corpus, limit_inf=None, limit_sup=None, how='Stem'):
'''
'''
group ngrams according to a function (stemming or lemming)
group ngrams according to a function (stemming or lemming)
'''
'''
session
=
get_session
()
dbg
=
DebugTime
(
'Corpus #
%
d - group'
%
corpus
.
id
)
dbg
=
DebugTime
(
'Corpus #
%
d - group'
%
corpus
.
id
)
dbg
.
show
(
'Group'
)
dbg
.
show
(
'Group'
)
session
=
get_session
()
#spec,cvalue = getNgrams(corpus, limit_inf=limit_inf, limit_sup=limit_sup)
#spec,cvalue = getNgrams(corpus, limit_inf=limit_inf, limit_sup=limit_sup)
#list_to_check=cvalue.union(spec)
#list_to_check=cvalue.union(spec)
...
@@ -138,3 +139,5 @@ def compute_groups(corpus, limit_inf=None, limit_sup=None, how='Stem'):
...
@@ -138,3 +139,5 @@ def compute_groups(corpus, limit_inf=None, limit_sup=None, how='Stem'):
,
[
data
for
data
in
group_to_insert
])
,
[
data
for
data
in
group_to_insert
])
bulk_insert
(
NodeNgram
,
(
'node_id'
,
'ngram_id'
,
'weight'
),
[
data
for
data
in
list
(
miam_to_insert
)])
bulk_insert
(
NodeNgram
,
(
'node_id'
,
'ngram_id'
,
'weight'
),
[
data
for
data
in
list
(
miam_to_insert
)])
session
.
remove
()
ngram/importExport.py
View file @
da2b3252
...
@@ -131,7 +131,7 @@ def exportNgramLists(node,filename,delimiter="\t"):
...
@@ -131,7 +131,7 @@ def exportNgramLists(node,filename,delimiter="\t"):
# csv_rows = [[ligne1_a, ligne1_b..],[ligne2_a, ligne2_b..],..]
# csv_rows = [[ligne1_a, ligne1_b..],[ligne2_a, ligne2_b..],..]
return
csv_rows
return
csv_rows
session
.
remove
()
# on applique notre fonction ng_to_csv sur chaque liste
# on applique notre fonction ng_to_csv sur chaque liste
# ------------------------------------------------------
# ------------------------------------------------------
...
@@ -380,9 +380,7 @@ def importNgramLists(node,filename,delimiter="\t", del_lists=[]):
...
@@ -380,9 +380,7 @@ def importNgramLists(node,filename,delimiter="\t", del_lists=[]):
print
(
"INFO: added
%
i elements in the lists indices"
%
added_nd_ng
)
print
(
"INFO: added
%
i elements in the lists indices"
%
added_nd_ng
)
print
(
"INFO: added
%
i new ngrams in the lexicon"
%
added_ng
)
print
(
"INFO: added
%
i new ngrams in the lexicon"
%
added_ng
)
session
.
remove
()
# à chronométrer:
# à chronométrer:
...
...
ngram/lists.py
View file @
da2b3252
...
@@ -60,6 +60,9 @@ def listIds(typeList=None, user_id=None, corpus_id=None):
...
@@ -60,6 +60,9 @@ def listIds(typeList=None, user_id=None, corpus_id=None):
else
:
else
:
raise
Exception
(
"Usage (Warning): Need corpus_id and user_id"
)
raise
Exception
(
"Usage (Warning): Need corpus_id and user_id"
)
session
.
remove
()
# Some functions to manage ngrams according to the lists
# Some functions to manage ngrams according to the lists
def
listNgramIds
(
list_id
=
None
,
typeList
=
None
,
def
listNgramIds
(
list_id
=
None
,
typeList
=
None
,
...
@@ -119,6 +122,8 @@ def listNgramIds(list_id=None, typeList=None,
...
@@ -119,6 +122,8 @@ def listNgramIds(list_id=None, typeList=None,
return
(
query
.
all
())
return
(
query
.
all
())
session
.
remove
()
def
ngramList
(
do
,
list_id
,
ngram_ids
=
None
)
:
def
ngramList
(
do
,
list_id
,
ngram_ids
=
None
)
:
'''
'''
ngramList :: ([Int], Int, String) -> Bool
ngramList :: ([Int], Int, String) -> Bool
...
@@ -129,9 +134,10 @@ def ngramList(do, list_id, ngram_ids=None) :
...
@@ -129,9 +134,10 @@ def ngramList(do, list_id, ngram_ids=None) :
ngram_id = [Int] : list of Ngrams id (Ngrams.id)
ngram_id = [Int] : list of Ngrams id (Ngrams.id)
list_id = Int : list id (Node.id)
list_id = Int : list id (Node.id)
'''
'''
results
=
[]
session
=
get_session
()
session
=
get_session
()
results
=
[]
if
do
==
'create'
:
if
do
==
'create'
:
terms
=
copy
(
ngram_ids
)
terms
=
copy
(
ngram_ids
)
ngram_ids
=
[]
ngram_ids
=
[]
...
@@ -163,6 +169,7 @@ def ngramList(do, list_id, ngram_ids=None) :
...
@@ -163,6 +169,7 @@ def ngramList(do, list_id, ngram_ids=None) :
session
.
commit
()
session
.
commit
()
return
(
results
)
return
(
results
)
session
.
remove
()
# Some functions to manage automatically the lists
# Some functions to manage automatically the lists
def
doStopList
(
user_id
=
None
,
corpus_id
=
None
,
stop_id
=
None
,
reset
=
False
,
limit
=
None
):
def
doStopList
(
user_id
=
None
,
corpus_id
=
None
,
stop_id
=
None
,
reset
=
False
,
limit
=
None
):
...
@@ -202,6 +209,7 @@ def ngrams2miam(user_id=None, corpus_id=None):
...
@@ -202,6 +209,7 @@ def ngrams2miam(user_id=None, corpus_id=None):
.
all
()
.
all
()
)
)
bulk_insert
(
NodeNgram
,
[
'node_id'
,
'ngram_id'
,
'weight'
],
query
)
bulk_insert
(
NodeNgram
,
[
'node_id'
,
'ngram_id'
,
'weight'
],
query
)
session
.
remove
()
from
gargantext_web.db
import
get_or_create_node
from
gargantext_web.db
import
get_or_create_node
from
analysis.lists
import
Translations
,
UnweightedList
from
analysis.lists
import
Translations
,
UnweightedList
...
@@ -232,6 +240,7 @@ def ngrams2miamBis(corpus):
...
@@ -232,6 +240,7 @@ def ngrams2miamBis(corpus):
.
all
()
.
all
()
)
)
bulk_insert
(
NodeNgram
,
[
'node_id'
,
'ngram_id'
,
'weight'
],
query
)
bulk_insert
(
NodeNgram
,
[
'node_id'
,
'ngram_id'
,
'weight'
],
query
)
session
.
remove
()
def
doList
(
def
doList
(
type_list
=
'MiamList'
,
type_list
=
'MiamList'
,
...
@@ -365,6 +374,6 @@ def doList(
...
@@ -365,6 +374,6 @@ def doList(
bulk_insert
(
NodeNgram
,
[
'node_id'
,
'ngram_id'
,
'weight'
],
query
)
bulk_insert
(
NodeNgram
,
[
'node_id'
,
'ngram_id'
,
'weight'
],
query
)
return
(
list_dict
[
type_list
][
'id'
])
return
(
list_dict
[
type_list
][
'id'
])
session
.
remove
()
ngram/mapList.py
View file @
da2b3252
...
@@ -87,10 +87,12 @@ def compute_mapList(corpus,limit=500,n=1):
...
@@ -87,10 +87,12 @@ def compute_mapList(corpus,limit=500,n=1):
bulk_insert
(
NodeNgram
,
[
'node_id'
,
'ngram_id'
,
'weight'
],
[
d
for
d
in
data
])
bulk_insert
(
NodeNgram
,
[
'node_id'
,
'ngram_id'
,
'weight'
],
[
d
for
d
in
data
])
dbg
.
show
(
'MapList computed'
)
dbg
.
show
(
'MapList computed'
)
session
.
remove
()
def
insert_miam
(
corpus
,
ngrams
=
None
,
path_file_csv
=
None
):
def
insert_miam
(
corpus
,
ngrams
=
None
,
path_file_csv
=
None
):
dbg
=
DebugTime
(
'Corpus #
%
d - computing Miam'
%
corpus
.
id
)
session
=
get_session
()
session
=
get_session
()
dbg
=
DebugTime
(
'Corpus #
%
d - computing Miam'
%
corpus
.
id
)
node_miam
=
get_or_create_node
(
nodetype
=
'MiamList'
,
corpus
=
corpus
)
node_miam
=
get_or_create_node
(
nodetype
=
'MiamList'
,
corpus
=
corpus
)
session
.
query
(
NodeNgram
)
.
filter
(
NodeNgram
.
node_id
==
node_miam
.
id
)
.
delete
()
session
.
query
(
NodeNgram
)
.
filter
(
NodeNgram
.
node_id
==
node_miam
.
id
)
.
delete
()
session
.
commit
()
session
.
commit
()
...
@@ -122,8 +124,6 @@ def insert_miam(corpus, ngrams=None, path_file_csv=None):
...
@@ -122,8 +124,6 @@ def insert_miam(corpus, ngrams=None, path_file_csv=None):
bulk_insert
(
NodeNgram
,
[
'node_id'
,
'ngram_id'
,
'weight'
],
[
d
for
d
in
data
])
bulk_insert
(
NodeNgram
,
[
'node_id'
,
'ngram_id'
,
'weight'
],
[
d
for
d
in
data
])
file_csv
.
close
()
file_csv
.
close
()
dbg
.
show
(
'Miam computed'
)
dbg
.
show
(
'Miam computed'
)
session
.
remove
()
#corpus = session.query(Node).filter(Node.id==540420).first()
#compute_mapList(corpus)
#insert_miam(corpus=corpus, path_file_csv="Thesaurus_tag.csv")
ngram/occurrences.py
View file @
da2b3252
...
@@ -5,11 +5,12 @@ from gargantext_web.db import get_or_create_node
...
@@ -5,11 +5,12 @@ from gargantext_web.db import get_or_create_node
from
admin.utils
import
DebugTime
from
admin.utils
import
DebugTime
def
compute_occs
(
corpus
):
def
compute_occs
(
corpus
):
session
=
get_session
()
dbg
=
DebugTime
(
'Corpus #
%
d - OCCURRENCES'
%
corpus
.
id
)
dbg
=
DebugTime
(
'Corpus #
%
d - OCCURRENCES'
%
corpus
.
id
)
dbg
.
show
(
'Calculate occurrences'
)
dbg
.
show
(
'Calculate occurrences'
)
occs_node
=
get_or_create_node
(
nodetype
=
'Occurrences'
,
corpus
=
corpus
)
occs_node
=
get_or_create_node
(
nodetype
=
'Occurrences'
,
corpus
=
corpus
)
session
=
get_session
()
#print(occs_node.id)
#print(occs_node.id)
(
session
.
query
(
NodeNodeNgram
)
(
session
.
query
(
NodeNodeNgram
)
...
@@ -47,5 +48,8 @@ def compute_occs(corpus):
...
@@ -47,5 +48,8 @@ def compute_occs(corpus):
)
)
)
)
db
.
commit
()
db
.
commit
()
session
.
remove
()
#data = session.query(NodeNodeNgram).filter(NodeNodeNgram.nodex_id==occs_node.id).all()
#data = session.query(NodeNodeNgram).filter(NodeNodeNgram.nodex_id==occs_node.id).all()
#print([n for n in data])
#print([n for n in data])
ngram/specificity.py
View file @
da2b3252
...
@@ -20,6 +20,7 @@ def specificity(cooc_id=None, corpus=None, limit=100):
...
@@ -20,6 +20,7 @@ def specificity(cooc_id=None, corpus=None, limit=100):
Compute the specificity, simple calculus.
Compute the specificity, simple calculus.
'''
'''
session
=
get_session
()
session
=
get_session
()
cooccurrences
=
(
session
.
query
(
NodeNgramNgram
)
cooccurrences
=
(
session
.
query
(
NodeNgramNgram
)
.
filter
(
NodeNgramNgram
.
node_id
==
cooc_id
)
.
filter
(
NodeNgramNgram
.
node_id
==
cooc_id
)
.
order_by
(
NodeNgramNgram
.
score
)
.
order_by
(
NodeNgramNgram
.
score
)
...
@@ -54,6 +55,7 @@ def specificity(cooc_id=None, corpus=None, limit=100):
...
@@ -54,6 +55,7 @@ def specificity(cooc_id=None, corpus=None, limit=100):
bulk_insert
(
NodeNodeNgram
,
[
'nodex_id'
,
'nodey_id'
,
'ngram_id'
,
'score'
],
[
d
for
d
in
data
])
bulk_insert
(
NodeNodeNgram
,
[
'nodex_id'
,
'nodey_id'
,
'ngram_id'
,
'score'
],
[
d
for
d
in
data
])
return
(
node
.
id
)
return
(
node
.
id
)
session
.
remove
()
def
compute_specificity
(
corpus
,
limit
=
100
):
def
compute_specificity
(
corpus
,
limit
=
100
):
'''
'''
...
@@ -62,15 +64,16 @@ def compute_specificity(corpus,limit=100):
...
@@ -62,15 +64,16 @@ def compute_specificity(corpus,limit=100):
1) Compute the cooc matrix
1) Compute the cooc matrix
2) Compute the specificity score, saving it in database, return its Node
2) Compute the specificity score, saving it in database, return its Node
'''
'''
session
=
get_session
()
dbg
=
DebugTime
(
'Corpus #
%
d - specificity'
%
corpus
.
id
)
dbg
=
DebugTime
(
'Corpus #
%
d - specificity'
%
corpus
.
id
)
session
=
get_session
()
list_cvalue
=
get_or_create_node
(
nodetype
=
'Cvalue'
,
corpus
=
corpus
,
session
=
session
)
list_cvalue
=
get_or_create_node
(
nodetype
=
'Cvalue'
,
corpus
=
corpus
,
session
=
session
)
cooc_id
=
do_cooc
(
corpus
=
corpus
,
cvalue_id
=
list_cvalue
.
id
,
limit
=
limit
)
cooc_id
=
do_cooc
(
corpus
=
corpus
,
cvalue_id
=
list_cvalue
.
id
,
limit
=
limit
)
specificity
(
cooc_id
=
cooc_id
,
corpus
=
corpus
,
limit
=
limit
)
specificity
(
cooc_id
=
cooc_id
,
corpus
=
corpus
,
limit
=
limit
)
dbg
.
show
(
'specificity'
)
dbg
.
show
(
'specificity'
)
session
.
remove
()
#corpus=session.query(Node).filter(Node.id==244250).first()
#corpus=session.query(Node).filter(Node.id==244250).first()
#compute_specificity(corpus)
#compute_specificity(corpus)
...
...
ngram/stemLem.py
View file @
da2b3252
...
@@ -11,6 +11,7 @@ def get_ngramogram(corpus, limit=None):
...
@@ -11,6 +11,7 @@ def get_ngramogram(corpus, limit=None):
Ngram is a composition of ograms (ogram = 1gram)
Ngram is a composition of ograms (ogram = 1gram)
"""
"""
session
=
get_session
()
session
=
get_session
()
try
:
try
:
query
=
(
session
query
=
(
session
.
query
(
Ngram
.
id
,
Ngram
.
terms
)
.
query
(
Ngram
.
id
,
Ngram
.
terms
)
...
@@ -35,6 +36,8 @@ def get_ngramogram(corpus, limit=None):
...
@@ -35,6 +36,8 @@ def get_ngramogram(corpus, limit=None):
except
Exception
as
error
:
except
Exception
as
error
:
PrintException
()
PrintException
()
session
.
remove
()
def
split_ngram
(
ngram
):
def
split_ngram
(
ngram
):
if
isinstance
(
ngram
,
str
):
if
isinstance
(
ngram
,
str
):
...
@@ -330,5 +333,6 @@ def stem_corpus(corpus_id=None):
...
@@ -330,5 +333,6 @@ def stem_corpus(corpus_id=None):
else
:
else
:
print
(
'Usage: stem_corpus(corpus_id=corpus.id)'
)
print
(
'Usage: stem_corpus(corpus_id=corpus.id)'
)
session
.
remove
()
ngram/stop.py
View file @
da2b3252
...
@@ -36,6 +36,7 @@ def importStopList(node,filename,language='fr'):
...
@@ -36,6 +36,7 @@ def importStopList(node,filename,language='fr'):
)
)
bulk_insert
(
NodeNgram
,
[
'node_id'
,
'ngram_id'
,
'weight'
],
[
d
for
d
in
data
])
bulk_insert
(
NodeNgram
,
[
'node_id'
,
'ngram_id'
,
'weight'
],
[
d
for
d
in
data
])
session
.
remove
()
def
isStopWord
(
ngram
,
stop_words
=
None
):
def
isStopWord
(
ngram
,
stop_words
=
None
):
'''
'''
...
@@ -78,10 +79,11 @@ def compute_stop(corpus,limit=2000,debug=False):
...
@@ -78,10 +79,11 @@ def compute_stop(corpus,limit=2000,debug=False):
'''
'''
do some statitics on all stop lists of database of the same type
do some statitics on all stop lists of database of the same type
'''
'''
session
=
get_session
()
stop_node_id
=
get_or_create_node
(
nodetype
=
'StopList'
,
corpus
=
corpus
)
.
id
stop_node_id
=
get_or_create_node
(
nodetype
=
'StopList'
,
corpus
=
corpus
)
.
id
# TODO do a function to get all stop words with social scores
# TODO do a function to get all stop words with social scores
session
=
get_session
()
root
=
session
.
query
(
Node
)
.
filter
(
Node
.
type_id
==
cache
.
NodeType
[
'Root'
]
.
id
)
.
first
()
root
=
session
.
query
(
Node
)
.
filter
(
Node
.
type_id
==
cache
.
NodeType
[
'Root'
]
.
id
)
.
first
()
root_stop_id
=
get_or_create_node
(
nodetype
=
'StopList'
,
corpus
=
root
)
.
id
root_stop_id
=
get_or_create_node
(
nodetype
=
'StopList'
,
corpus
=
root
)
.
id
...
@@ -113,3 +115,4 @@ def compute_stop(corpus,limit=2000,debug=False):
...
@@ -113,3 +115,4 @@ def compute_stop(corpus,limit=2000,debug=False):
stop
=
WeightedList
({
n
[
0
]
:
-
1
for
n
in
ngrams_to_stop
})
stop
=
WeightedList
({
n
[
0
]
:
-
1
for
n
in
ngrams_to_stop
})
stop
.
save
(
stop_node_id
)
stop
.
save
(
stop_node_id
)
session
.
remove
()
ngram/tfidf.py
View file @
da2b3252
...
@@ -7,9 +7,11 @@ from admin.utils import DebugTime
...
@@ -7,9 +7,11 @@ from admin.utils import DebugTime
def
compute_tfidf
(
corpus
):
def
compute_tfidf
(
corpus
):
# compute terms frequency sum
# compute terms frequency sum
session
=
get_session
()
dbg
=
DebugTime
(
'Corpus #
%
d - TFIDF'
%
corpus
.
id
)
dbg
=
DebugTime
(
'Corpus #
%
d - TFIDF'
%
corpus
.
id
)
dbg
.
show
(
'calculate terms frequencies sums'
)
dbg
.
show
(
'calculate terms frequencies sums'
)
tfidf_node
=
get_or_create_node
(
nodetype
=
'Tfidf'
,
corpus
=
corpus
)
tfidf_node
=
get_or_create_node
(
nodetype
=
'Tfidf'
,
corpus
=
corpus
,
session
=
session
)
db
,
cursor
=
get_cursor
()
db
,
cursor
=
get_cursor
()
cursor
.
execute
(
'''
cursor
.
execute
(
'''
...
@@ -119,16 +121,20 @@ def compute_tfidf(corpus):
...
@@ -119,16 +121,20 @@ def compute_tfidf(corpus):
# the end!
# the end!
db
.
commit
()
db
.
commit
()
session
.
remove
()
def
compute_tfidf_global
(
corpus
):
def
compute_tfidf_global
(
corpus
):
'''
'''
Maybe improve this with:
Maybe improve this with:
#http://stackoverflow.com/questions/8674718/best-way-to-select-random-rows-postgresql
#http://stackoverflow.com/questions/8674718/best-way-to-select-random-rows-postgresql
'''
'''
session
=
get_session
()
dbg
=
DebugTime
(
'Corpus #
%
d - tfidf global'
%
corpus
.
id
)
dbg
=
DebugTime
(
'Corpus #
%
d - tfidf global'
%
corpus
.
id
)
dbg
.
show
(
'calculate terms frequencies sums'
)
dbg
.
show
(
'calculate terms frequencies sums'
)
tfidf_node
=
get_or_create_node
(
nodetype
=
'Tfidf (global)'
,
corpus
=
corpus
)
session
=
get_session
()
tfidf_node
=
get_or_create_node
(
nodetype
=
'Tfidf (global)'
,
corpus
=
corpus
,
session
=
session
)
# update would be better
# update would be better
session
.
query
(
NodeNodeNgram
)
.
filter
(
NodeNodeNgram
.
nodex_id
==
tfidf_node
.
id
)
.
delete
()
session
.
query
(
NodeNodeNgram
)
.
filter
(
NodeNodeNgram
.
nodex_id
==
tfidf_node
.
id
)
.
delete
()
session
.
commit
()
session
.
commit
()
...
@@ -259,5 +265,7 @@ def compute_tfidf_global(corpus):
...
@@ -259,5 +265,7 @@ def compute_tfidf_global(corpus):
db
.
commit
()
db
.
commit
()
dbg
.
show
(
'insert tfidf'
)
dbg
.
show
(
'insert tfidf'
)
session
.
remove
()
#corpus=session.query(Node).filter(Node.id==244250).first()
#corpus=session.query(Node).filter(Node.id==244250).first()
#compute_tfidf_global(corpus)
#compute_tfidf_global(corpus)
ngram/tools.py
View file @
da2b3252
...
@@ -8,8 +8,8 @@ def insert_ngrams_to_list(list_of_ngrams, corpus, list_type='MapList', erase=Tru
...
@@ -8,8 +8,8 @@ def insert_ngrams_to_list(list_of_ngrams, corpus, list_type='MapList', erase=Tru
'''
'''
session
=
get_session
()
session
=
get_session
()
list_node
=
get_or_create_node
(
corpus
=
corpus
,
nodetype
=
list_type
)
list_node
=
get_or_create_node
(
corpus
=
corpus
,
nodetype
=
list_type
,
session
=
session
)
group_node
=
get_or_create_node
(
corpus
=
corpus
,
nodetype
=
'GroupList'
)
group_node
=
get_or_create_node
(
corpus
=
corpus
,
nodetype
=
'GroupList'
,
session
=
session
)
group_list
=
(
session
.
query
(
NodeNgramNgram
.
ngramy_id
)
group_list
=
(
session
.
query
(
NodeNgramNgram
.
ngramy_id
)
.
filter
(
NodeNgramNgram
.
id
==
group_node
.
id
)
.
filter
(
NodeNgramNgram
.
id
==
group_node
.
id
)
.
all
()
.
all
()
...
@@ -35,6 +35,7 @@ def insert_ngrams_to_list(list_of_ngrams, corpus, list_type='MapList', erase=Tru
...
@@ -35,6 +35,7 @@ def insert_ngrams_to_list(list_of_ngrams, corpus, list_type='MapList', erase=Tru
#print(list_to_insert)
#print(list_to_insert)
db
,
cursor
=
get_cursor
()
db
,
cursor
=
get_cursor
()
bulk_insert
(
NodeNgram
,
[
'node_id'
,
'ngram_id'
,
'weight'
],
[
n
for
n
in
list_to_insert
])
bulk_insert
(
NodeNgram
,
[
'node_id'
,
'ngram_id'
,
'weight'
],
[
n
for
n
in
list_to_insert
])
session
.
remove
()
def
insert_ngrams
(
ngrams
,
get
=
'terms-id'
):
def
insert_ngrams
(
ngrams
,
get
=
'terms-id'
):
'''
'''
...
...
parsing/corpustools.py
View file @
da2b3252
...
@@ -30,8 +30,9 @@ parsers = Parsers()
...
@@ -30,8 +30,9 @@ parsers = Parsers()
# resources management
# resources management
def
add_resource
(
corpus
,
**
kwargs
):
def
add_resource
(
corpus
,
**
kwargs
):
# only for tests
session
=
get_session
()
session
=
get_session
()
# only for tests
resource
=
Resource
(
guid
=
str
(
random
()),
**
kwargs
)
resource
=
Resource
(
guid
=
str
(
random
()),
**
kwargs
)
# User
# User
if
'user_id'
not
in
kwargs
:
if
'user_id'
not
in
kwargs
:
...
@@ -64,12 +65,13 @@ def add_resource(corpus, **kwargs):
...
@@ -64,12 +65,13 @@ def add_resource(corpus, **kwargs):
session
.
commit
()
session
.
commit
()
# return result
# return result
return
resource
return
resource
session
.
remove
()
def
parse_resources
(
corpus
,
user
=
None
,
user_id
=
None
):
def
parse_resources
(
corpus
,
user
=
None
,
user_id
=
None
):
dbg
=
DebugTime
(
'Corpus #
%
d - parsing'
%
corpus
.
id
)
session
=
get_session
()
session
=
get_session
()
dbg
=
DebugTime
(
'Corpus #
%
d - parsing'
%
corpus
.
id
)
corpus_id
=
corpus
.
id
corpus_id
=
corpus
.
id
type_id
=
cache
.
NodeType
[
'Document'
]
.
id
type_id
=
cache
.
NodeType
[
'Document'
]
.
id
if
user_id
is
None
and
user
is
not
None
:
if
user_id
is
None
and
user
is
not
None
:
...
@@ -176,7 +178,7 @@ def parse_resources(corpus, user=None, user_id=None):
...
@@ -176,7 +178,7 @@ def parse_resources(corpus, user=None, user_id=None):
# mark the corpus as parsed
# mark the corpus as parsed
corpus
.
parsed
=
True
corpus
.
parsed
=
True
session
.
remove
()
# ngrams extraction
# ngrams extraction
from
.NgramsExtractors
import
EnglishNgramsExtractor
,
FrenchNgramsExtractor
,
NgramsExtractor
from
.NgramsExtractors
import
EnglishNgramsExtractor
,
FrenchNgramsExtractor
,
NgramsExtractor
...
@@ -207,8 +209,9 @@ class NgramsExtractors(defaultdict):
...
@@ -207,8 +209,9 @@ class NgramsExtractors(defaultdict):
ngramsextractors
=
NgramsExtractors
()
ngramsextractors
=
NgramsExtractors
()
def
extract_ngrams
(
corpus
,
keys
,
nlp
=
True
):
def
extract_ngrams
(
corpus
,
keys
,
nlp
=
True
):
dbg
=
DebugTime
(
'Corpus #
%
d - ngrams'
%
corpus
.
id
)
session
=
get_session
()
session
=
get_session
()
dbg
=
DebugTime
(
'Corpus #
%
d - ngrams'
%
corpus
.
id
)
default_language_iso2
=
None
if
corpus
.
language_id
is
None
else
cache
.
Language
[
corpus
.
language_id
]
.
iso2
default_language_iso2
=
None
if
corpus
.
language_id
is
None
else
cache
.
Language
[
corpus
.
language_id
]
.
iso2
# query the hyperdata associated with the given keys
# query the hyperdata associated with the given keys
columns
=
[
Node
.
id
,
Node
.
language_id
]
+
[
Node
.
hyperdata
[
key
]
for
key
in
keys
]
columns
=
[
Node
.
id
,
Node
.
language_id
]
+
[
Node
.
hyperdata
[
key
]
for
key
in
keys
]
...
@@ -289,4 +292,4 @@ def extract_ngrams(corpus, keys, nlp=True):
...
@@ -289,4 +292,4 @@ def extract_ngrams(corpus, keys, nlp=True):
dbg
.
message
=
'insert
%
d associations'
%
len
(
node_ngram_data
)
dbg
.
message
=
'insert
%
d associations'
%
len
(
node_ngram_data
)
# commit to database
# commit to database
db
.
commit
()
db
.
commit
()
session
.
remove
()
rest_v1_0/api.py
View file @
da2b3252
...
@@ -97,13 +97,16 @@ def Root(request, format=None):
...
@@ -97,13 +97,16 @@ def Root(request, format=None):
'snippets'
:
reverse
(
'snippet-list'
,
request
=
request
,
format
=
format
)
'snippets'
:
reverse
(
'snippet-list'
,
request
=
request
,
format
=
format
)
})
})
session
.
remove
()
class
NodesChildrenNgrams
(
APIView
):
class
NodesChildrenNgrams
(
APIView
):
def
get
(
self
,
request
,
node_id
):
def
get
(
self
,
request
,
node_id
):
session
=
get_session
()
# query ngrams
# query ngrams
ParentNode
=
aliased
(
Node
)
ParentNode
=
aliased
(
Node
)
session
=
get_session
()
ngrams_query
=
(
session
ngrams_query
=
(
session
.
query
(
Ngram
.
terms
,
func
.
sum
(
Node_Ngram
.
weight
)
.
label
(
'count'
))
.
query
(
Ngram
.
terms
,
func
.
sum
(
Node_Ngram
.
weight
)
.
label
(
'count'
))
.
join
(
Node_Ngram
,
Node_Ngram
.
ngram_id
==
Ngram
.
id
)
.
join
(
Node_Ngram
,
Node_Ngram
.
ngram_id
==
Ngram
.
id
)
...
@@ -141,12 +144,15 @@ class NodesChildrenNgrams(APIView):
...
@@ -141,12 +144,15 @@ class NodesChildrenNgrams(APIView):
],
],
})
})
session
.
remove
()
class
NodesChildrenNgramsIds
(
APIView
):
class
NodesChildrenNgramsIds
(
APIView
):
def
get
(
self
,
request
,
node_id
):
def
get
(
self
,
request
,
node_id
):
session
=
get_session
()
# query ngrams
# query ngrams
ParentNode
=
aliased
(
Node
)
ParentNode
=
aliased
(
Node
)
session
=
get_session
()
ngrams_query
=
(
session
ngrams_query
=
(
session
.
query
(
Node
.
id
,
func
.
sum
(
Node_Ngram
.
weight
)
.
label
(
'count'
))
.
query
(
Node
.
id
,
func
.
sum
(
Node_Ngram
.
weight
)
.
label
(
'count'
))
.
join
(
Node_Ngram
,
Node_Ngram
.
node_id
==
Node
.
id
)
.
join
(
Node_Ngram
,
Node_Ngram
.
node_id
==
Node
.
id
)
...
@@ -184,15 +190,17 @@ class NodesChildrenNgramsIds(APIView):
...
@@ -184,15 +190,17 @@ class NodesChildrenNgramsIds(APIView):
],
],
})
})
session
.
remove
()
from
gargantext_web.db
import
get_or_create_node
from
gargantext_web.db
import
get_or_create_node
class
Ngrams
(
APIView
):
class
Ngrams
(
APIView
):
def
get
(
self
,
request
,
node_id
):
def
get
(
self
,
request
,
node_id
):
session
=
get_session
()
# query ngrams
# query ngrams
ParentNode
=
aliased
(
Node
)
ParentNode
=
aliased
(
Node
)
session
=
get_session
()
corpus
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
node_id
)
.
first
()
corpus
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
node_id
)
.
first
()
group_by
=
[]
group_by
=
[]
results
=
[
'id'
,
'terms'
]
results
=
[
'id'
,
'terms'
]
...
@@ -307,11 +315,13 @@ class Ngrams(APIView):
...
@@ -307,11 +315,13 @@ class Ngrams(APIView):
],
],
})
})
session
.
remove
()
class
NodesChildrenDuplicates
(
APIView
):
class
NodesChildrenDuplicates
(
APIView
):
def
_fetch_duplicates
(
self
,
request
,
node_id
,
extra_columns
=
None
,
min_count
=
1
):
def
_fetch_duplicates
(
self
,
request
,
node_id
,
extra_columns
=
None
,
min_count
=
1
):
session
=
get_session
()
# input validation
# input validation
if
extra_columns
is
None
:
if
extra_columns
is
None
:
extra_columns
=
[]
extra_columns
=
[]
...
@@ -319,7 +329,6 @@ class NodesChildrenDuplicates(APIView):
...
@@ -319,7 +329,6 @@ class NodesChildrenDuplicates(APIView):
raise
APIException
(
'Missing GET parameter: "keys"'
,
400
)
raise
APIException
(
'Missing GET parameter: "keys"'
,
400
)
keys
=
request
.
GET
[
'keys'
]
.
split
(
','
)
keys
=
request
.
GET
[
'keys'
]
.
split
(
','
)
# hyperdata retrieval
# hyperdata retrieval
session
=
get_session
()
hyperdata_query
=
(
session
hyperdata_query
=
(
session
.
query
(
Hyperdata
)
.
query
(
Hyperdata
)
.
filter
(
Hyperdata
.
name
.
in_
(
keys
))
.
filter
(
Hyperdata
.
name
.
in_
(
keys
))
...
@@ -352,6 +361,8 @@ class NodesChildrenDuplicates(APIView):
...
@@ -352,6 +361,8 @@ class NodesChildrenDuplicates(APIView):
# and now, return it
# and now, return it
return
duplicates_query
return
duplicates_query
session
.
remove
()
def
get
(
self
,
request
,
node_id
):
def
get
(
self
,
request
,
node_id
):
# data to be returned
# data to be returned
duplicates
=
self
.
_fetch_duplicates
(
request
,
node_id
)
duplicates
=
self
.
_fetch_duplicates
(
request
,
node_id
)
...
@@ -401,9 +412,10 @@ class NodesChildrenDuplicates(APIView):
...
@@ -401,9 +412,10 @@ class NodesChildrenDuplicates(APIView):
# retrieve metadata from a given list of parent node
# retrieve metadata from a given list of parent node
def
get_metadata
(
corpus_id_list
):
def
get_metadata
(
corpus_id_list
):
session
=
get_session
()
# query hyperdata keys
# query hyperdata keys
ParentNode
=
aliased
(
Node
)
ParentNode
=
aliased
(
Node
)
session
=
get_session
()
hyperdata_query
=
(
session
hyperdata_query
=
(
session
.
query
(
Hyperdata
)
.
query
(
Hyperdata
)
.
join
(
Node_Hyperdata
,
Node_Hyperdata
.
hyperdata_id
==
Hyperdata
.
id
)
.
join
(
Node_Hyperdata
,
Node_Hyperdata
.
hyperdata_id
==
Hyperdata
.
id
)
...
@@ -455,6 +467,7 @@ def get_metadata(corpus_id_list):
...
@@ -455,6 +467,7 @@ def get_metadata(corpus_id_list):
# give the result back
# give the result back
return
collection
return
collection
session
.
remove
()
class
ApiHyperdata
(
APIView
):
class
ApiHyperdata
(
APIView
):
...
@@ -520,6 +533,7 @@ class ApiNgrams(APIView):
...
@@ -520,6 +533,7 @@ class ApiNgrams(APIView):
class
NodesChildrenQueries
(
APIView
):
class
NodesChildrenQueries
(
APIView
):
def
_sql
(
self
,
input
,
node_id
):
def
_sql
(
self
,
input
,
node_id
):
session
=
get_session
()
fields
=
dict
()
fields
=
dict
()
tables
=
set
(
'nodes'
)
tables
=
set
(
'nodes'
)
hyperdata_aliases
=
dict
()
hyperdata_aliases
=
dict
()
...
@@ -602,6 +616,7 @@ class NodesChildrenQueries(APIView):
...
@@ -602,6 +616,7 @@ class NodesChildrenQueries(APIView):
else
query
[
input
[
'pagination'
][
'offset'
]:]
else
query
[
input
[
'pagination'
][
'offset'
]:]
)
)
return
output
return
output
session
.
remove
()
def
_haskell
(
self
,
input
,
node_id
):
def
_haskell
(
self
,
input
,
node_id
):
output
=
copy
.
deepcopy
(
input
)
output
=
copy
.
deepcopy
(
input
)
...
@@ -702,8 +717,9 @@ class NodesList(APIView):
...
@@ -702,8 +717,9 @@ class NodesList(APIView):
authentication_classes
=
(
SessionAuthentication
,
BasicAuthentication
)
authentication_classes
=
(
SessionAuthentication
,
BasicAuthentication
)
def
get
(
self
,
request
):
def
get
(
self
,
request
):
print
(
"user id : "
+
str
(
request
.
user
))
session
=
get_session
()
session
=
get_session
()
print
(
"user id : "
+
str
(
request
.
user
))
query
=
(
session
query
=
(
session
.
query
(
Node
.
id
,
Node
.
name
,
NodeType
.
name
.
label
(
'type'
))
.
query
(
Node
.
id
,
Node
.
name
,
NodeType
.
name
.
label
(
'type'
))
.
filter
(
Node
.
user_id
==
int
(
request
.
user
.
id
))
.
filter
(
Node
.
user_id
==
int
(
request
.
user
.
id
))
...
@@ -719,9 +735,12 @@ class NodesList(APIView):
...
@@ -719,9 +735,12 @@ class NodesList(APIView):
for
node
in
query
.
all
()
for
node
in
query
.
all
()
]})
]})
session
.
remove
()
class
Nodes
(
APIView
):
class
Nodes
(
APIView
):
def
get
(
self
,
request
,
node_id
):
def
get
(
self
,
request
,
node_id
):
session
=
get_session
()
session
=
get_session
()
node
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
node_id
)
.
first
()
node
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
node_id
)
.
first
()
if
node
is
None
:
if
node
is
None
:
raise
APIException
(
'This node does not exist'
,
404
)
raise
APIException
(
'This node does not exist'
,
404
)
...
@@ -735,14 +754,17 @@ class Nodes(APIView):
...
@@ -735,14 +754,17 @@ class Nodes(APIView):
'hyperdata'
:
node
.
hyperdata
,
'hyperdata'
:
node
.
hyperdata
,
})
})
session
.
remove
()
# deleting node by id
# deleting node by id
# currently, very dangerous.
# currently, very dangerous.
# it should take the subnodes into account as well,
# it should take the subnodes into account as well,
# for better constistency...
# for better constistency...
def
delete
(
self
,
request
,
node_id
):
def
delete
(
self
,
request
,
node_id
):
user
=
request
.
user
session
=
get_session
()
session
=
get_session
()
user
=
request
.
user
node
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
node_id
)
.
first
()
node
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
node_id
)
.
first
()
msgres
=
str
()
msgres
=
str
()
...
@@ -755,6 +777,8 @@ class Nodes(APIView):
...
@@ -755,6 +777,8 @@ class Nodes(APIView):
except
Exception
as
error
:
except
Exception
as
error
:
msgres
=
"error deleting : "
+
node_id
+
str
(
error
)
msgres
=
"error deleting : "
+
node_id
+
str
(
error
)
session
.
remove
()
class
CorpusController
:
class
CorpusController
:
@
classmethod
@
classmethod
def
get
(
cls
,
corpus_id
):
def
get
(
cls
,
corpus_id
):
...
@@ -774,7 +798,7 @@ class CorpusController:
...
@@ -774,7 +798,7 @@ class CorpusController:
# if corpus.user != request.user:
# if corpus.user != request.user:
# raise Http403("Unauthorized access.")
# raise Http403("Unauthorized access.")
return
corpus
return
corpus
session
.
remove
()
@
classmethod
@
classmethod
def
ngrams
(
cls
,
request
,
node_id
):
def
ngrams
(
cls
,
request
,
node_id
):
...
@@ -785,6 +809,7 @@ class CorpusController:
...
@@ -785,6 +809,7 @@ class CorpusController:
# build query
# build query
ParentNode
=
aliased
(
Node
)
ParentNode
=
aliased
(
Node
)
session
=
get_session
()
session
=
get_session
()
query
=
(
session
query
=
(
session
.
query
(
Ngram
.
terms
,
func
.
count
(
'*'
))
.
query
(
Ngram
.
terms
,
func
.
count
(
'*'
))
.
join
(
Node_Ngram
,
Node_Ngram
.
ngram_id
==
Ngram
.
id
)
.
join
(
Node_Ngram
,
Node_Ngram
.
ngram_id
==
Ngram
.
id
)
...
@@ -811,3 +836,5 @@ class CorpusController:
...
@@ -811,3 +836,5 @@ class CorpusController:
)
)
else
:
else
:
raise
ValidationError
(
'Unrecognized "format=
%
s", should be "csv" or "json"'
%
(
format
,
))
raise
ValidationError
(
'Unrecognized "format=
%
s", should be "csv" or "json"'
%
(
format
,
))
session
.
remove
()
rest_v1_0/graph.py
View file @
da2b3252
...
@@ -6,7 +6,6 @@ from analysis.functions import get_cooc
...
@@ -6,7 +6,6 @@ from analysis.functions import get_cooc
class
Graph
(
APIView
):
class
Graph
(
APIView
):
authentication_classes
=
(
SessionAuthentication
,
BasicAuthentication
)
authentication_classes
=
(
SessionAuthentication
,
BasicAuthentication
)
session
=
get_session
()
def
get
(
self
,
request
,
corpus_id
):
def
get
(
self
,
request
,
corpus_id
):
'''
'''
...
@@ -15,6 +14,8 @@ class Graph(APIView):
...
@@ -15,6 +14,8 @@ class Graph(APIView):
graph?field1=ngrams&field2=ngrams&
graph?field1=ngrams&field2=ngrams&
graph?field1=ngrams&field2=ngrams&start=''&end=''
graph?field1=ngrams&field2=ngrams&start=''&end=''
'''
'''
session
=
get_session
()
field1
=
request
.
GET
.
get
(
'field1'
,
'ngrams'
)
field1
=
request
.
GET
.
get
(
'field1'
,
'ngrams'
)
field2
=
request
.
GET
.
get
(
'field2'
,
'ngrams'
)
field2
=
request
.
GET
.
get
(
'field2'
,
'ngrams'
)
...
@@ -52,3 +53,5 @@ class Graph(APIView):
...
@@ -52,3 +53,5 @@ class Graph(APIView):
,
'field2'
:
accepted_field2
,
'field2'
:
accepted_field2
,
'options'
:
options
,
'options'
:
options
})
})
session
.
remove
()
rest_v1_0/ngrams.py
View file @
da2b3252
...
@@ -82,9 +82,10 @@ class List(APIView):
...
@@ -82,9 +82,10 @@ class List(APIView):
def
get_metadata
(
self
,
ngram_ids
,
parent_id
):
def
get_metadata
(
self
,
ngram_ids
,
parent_id
):
session
=
get_session
()
start_
=
time
.
time
()
start_
=
time
.
time
()
session
=
get_session
()
nodes_ngrams
=
session
.
query
(
Ngram
.
id
,
Ngram
.
terms
)
.
filter
(
Ngram
.
id
.
in_
(
list
(
ngram_ids
.
keys
())))
.
all
()
nodes_ngrams
=
session
.
query
(
Ngram
.
id
,
Ngram
.
terms
)
.
filter
(
Ngram
.
id
.
in_
(
list
(
ngram_ids
.
keys
())))
.
all
()
for
node
in
nodes_ngrams
:
for
node
in
nodes_ngrams
:
if
node
.
id
in
ngram_ids
:
if
node
.
id
in
ngram_ids
:
...
@@ -120,7 +121,7 @@ class List(APIView):
...
@@ -120,7 +121,7 @@ class List(APIView):
end_
=
time
.
time
()
end_
=
time
.
time
()
return
{
"data"
:
ngram_ids
,
"secs"
:(
end_
-
start_
)
}
return
{
"data"
:
ngram_ids
,
"secs"
:(
end_
-
start_
)
}
session
.
remove
()
def
get
(
self
,
request
,
corpus_id
,
list_name
):
def
get
(
self
,
request
,
corpus_id
,
list_name
):
...
@@ -155,6 +156,8 @@ class List(APIView):
...
@@ -155,6 +156,8 @@ class List(APIView):
return
JsonHttpResponse
(
{
"data"
:
ngram_ids
,
"time"
:
measurements
}
)
return
JsonHttpResponse
(
{
"data"
:
ngram_ids
,
"time"
:
measurements
}
)
session
.
remove
()
class
Ngrams
(
APIView
):
class
Ngrams
(
APIView
):
'''
'''
REST application to manage ngrams
REST application to manage ngrams
...
@@ -324,6 +327,8 @@ class Ngrams(APIView):
...
@@ -324,6 +327,8 @@ class Ngrams(APIView):
"time"
:
measurements
"time"
:
measurements
})
})
session
.
remove
()
def
post
(
self
,
request
,
node_id
):
def
post
(
self
,
request
,
node_id
):
return
JsonHttpResponse
([
"POST"
,
"ok"
])
return
JsonHttpResponse
([
"POST"
,
"ok"
])
...
@@ -343,12 +348,16 @@ class Group(APIView):
...
@@ -343,12 +348,16 @@ class Group(APIView):
'''
'''
def
get_group_id
(
self
,
node_id
,
user_id
):
def
get_group_id
(
self
,
node_id
,
user_id
):
node_id
=
int
(
node_id
)
node_id
=
int
(
node_id
)
session
=
get_session
()
session
=
get_session
()
corpus
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
node_id
)
.
first
()
corpus
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
node_id
)
.
first
()
if
corpus
==
None
:
return
None
if
corpus
==
None
:
return
None
group
=
get_or_create_node
(
corpus
=
corpus
,
nodetype
=
'Group'
)
group
=
get_or_create_node
(
corpus
=
corpus
,
nodetype
=
'Group'
)
return
(
group
.
id
)
return
(
group
.
id
)
session
.
remove
()
def
get
(
self
,
request
,
corpus_id
):
def
get
(
self
,
request
,
corpus_id
):
if
not
request
.
user
.
is_authenticated
():
if
not
request
.
user
.
is_authenticated
():
return
JsonHttpResponse
(
{
"request"
:
"forbidden"
}
)
return
JsonHttpResponse
(
{
"request"
:
"forbidden"
}
)
...
@@ -376,6 +385,7 @@ class Group(APIView):
...
@@ -376,6 +385,7 @@ class Group(APIView):
DG
=
nx
.
DiGraph
()
DG
=
nx
.
DiGraph
()
session
=
get_session
()
session
=
get_session
()
ngrams_ngrams
=
(
session
ngrams_ngrams
=
(
session
.
query
(
NodeNgramNgram
)
.
query
(
NodeNgramNgram
)
.
filter
(
NodeNgramNgram
.
node_id
==
group_id
)
.
filter
(
NodeNgramNgram
.
node_id
==
group_id
)
...
@@ -415,6 +425,7 @@ class Group(APIView):
...
@@ -415,6 +425,7 @@ class Group(APIView):
# groups["nodes"] = get_occtfidf( ngrams , request.user.id , corpus_id , "Group")
# groups["nodes"] = get_occtfidf( ngrams , request.user.id , corpus_id , "Group")
return
JsonHttpResponse
(
{
"data"
:
groups
}
)
return
JsonHttpResponse
(
{
"data"
:
groups
}
)
session
.
remove
()
def
post
(
self
,
request
,
node_id
):
def
post
(
self
,
request
,
node_id
):
return
JsonHttpResponse
(
[
"hola"
,
"mundo"
]
)
return
JsonHttpResponse
(
[
"hola"
,
"mundo"
]
)
...
@@ -441,6 +452,8 @@ class Group(APIView):
...
@@ -441,6 +452,8 @@ class Group(APIView):
else
:
else
:
raise
APIException
(
'Missing parameter: "{
\'
data
\'
: [
\'
source
\'
: Int,
\'
target
\'
: [Int]}"'
,
400
)
raise
APIException
(
'Missing parameter: "{
\'
data
\'
: [
\'
source
\'
: Int,
\'
target
\'
: [Int]}"'
,
400
)
session
.
remove
()
def
put
(
self
,
request
,
corpus_id
):
def
put
(
self
,
request
,
corpus_id
):
session
=
get_session
()
session
=
get_session
()
...
@@ -523,6 +536,7 @@ class Group(APIView):
...
@@ -523,6 +536,7 @@ class Group(APIView):
nodengramngram
=
NodeNgramNgram
(
node_id
=
existing_group_id
,
ngramx_id
=
n1
,
ngramy_id
=
n2
,
score
=
1.0
)
nodengramngram
=
NodeNgramNgram
(
node_id
=
existing_group_id
,
ngramx_id
=
n1
,
ngramy_id
=
n2
,
score
=
1.0
)
session
.
add
(
nodengramngram
)
session
.
add
(
nodengramngram
)
session
.
commit
()
session
.
commit
()
# [ - - - / doing links of new clique and adding to DB - - - ] #
# [ - - - / doing links of new clique and adding to DB - - - ] #
...
@@ -573,6 +587,7 @@ class Group(APIView):
...
@@ -573,6 +587,7 @@ class Group(APIView):
return
JsonHttpResponse
(
True
,
201
)
return
JsonHttpResponse
(
True
,
201
)
session
.
remove
()
class
Keep
(
APIView
):
class
Keep
(
APIView
):
"""
"""
...
@@ -580,9 +595,9 @@ class Keep(APIView):
...
@@ -580,9 +595,9 @@ class Keep(APIView):
"""
"""
renderer_classes
=
(
JSONRenderer
,)
renderer_classes
=
(
JSONRenderer
,)
authentication_classes
=
(
SessionAuthentication
,
BasicAuthentication
)
authentication_classes
=
(
SessionAuthentication
,
BasicAuthentication
)
session
=
get_session
()
def
get
(
self
,
request
,
corpus_id
):
def
get
(
self
,
request
,
corpus_id
):
session
=
get_session
()
# list_id = session.query(Node).filter(Node.id==list_id).first()
# list_id = session.query(Node).filter(Node.id==list_id).first()
corpus
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
corpus_id
)
.
first
()
corpus
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
corpus_id
)
.
first
()
node_mapList
=
get_or_create_node
(
nodetype
=
'MapList'
,
corpus
=
corpus
)
node_mapList
=
get_or_create_node
(
nodetype
=
'MapList'
,
corpus
=
corpus
)
...
@@ -591,11 +606,13 @@ class Keep(APIView):
...
@@ -591,11 +606,13 @@ class Keep(APIView):
for
node
in
nodes_in_map
:
for
node
in
nodes_in_map
:
results
[
node
.
ngram_id
]
=
True
results
[
node
.
ngram_id
]
=
True
return
JsonHttpResponse
(
results
)
return
JsonHttpResponse
(
results
)
session
.
remove
()
def
put
(
self
,
request
,
corpus_id
):
def
put
(
self
,
request
,
corpus_id
):
"""
"""
Add ngrams to map list
Add ngrams to map list
"""
"""
session
=
get_session
()
group_rawreq
=
dict
(
request
.
data
)
group_rawreq
=
dict
(
request
.
data
)
ngram_2add
=
[
int
(
i
)
for
i
in
list
(
group_rawreq
.
keys
())]
ngram_2add
=
[
int
(
i
)
for
i
in
list
(
group_rawreq
.
keys
())]
corpus
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
corpus_id
)
.
first
()
corpus
=
session
.
query
(
Node
)
.
filter
(
Node
.
id
==
corpus_id
)
.
first
()
...
@@ -605,11 +622,14 @@ class Keep(APIView):
...
@@ -605,11 +622,14 @@ class Keep(APIView):
session
.
add
(
map_node
)
session
.
add
(
map_node
)
session
.
commit
()
session
.
commit
()
return
JsonHttpResponse
(
True
,
201
)
return
JsonHttpResponse
(
True
,
201
)
session
.
remove
()
def
delete
(
self
,
request
,
corpus_id
):
def
delete
(
self
,
request
,
corpus_id
):
"""
"""
Delete ngrams from the map list
Delete ngrams from the map list
"""
"""
session
=
get_session
()
group_rawreq
=
dict
(
request
.
data
)
group_rawreq
=
dict
(
request
.
data
)
# print("group_rawreq:")
# print("group_rawreq:")
# print(group_rawreq)
# print(group_rawreq)
...
@@ -627,5 +647,5 @@ class Keep(APIView):
...
@@ -627,5 +647,5 @@ class Keep(APIView):
return
JsonHttpResponse
(
True
,
201
)
return
JsonHttpResponse
(
True
,
201
)
session
.
remove
()
scrappers/scrap_pubmed/views.py
View file @
da2b3252
...
@@ -84,15 +84,12 @@ def getGlobalStatsISTEXT(request ):
...
@@ -84,15 +84,12 @@ def getGlobalStatsISTEXT(request ):
def
doTheQuery
(
request
,
project_id
):
def
doTheQuery
(
request
,
project_id
):
alist
=
[
"hola"
,
"mundo"
]
session
=
get_session
()
makeSession
=
get_sessionmaker
()
session
=
makeSession
()
# get_session()
# do we have a valid project id?
# do we have a valid project id?
try
:
try
:
project_id
=
int
(
project_id
)
project_id
=
int
(
project_id
)
except
ValueError
:
except
ValueError
:
raise
Http404
()
raise
Http404
()
# do we have a valid project?
# do we have a valid project?
project
=
(
session
project
=
(
session
.
query
(
Node
)
.
query
(
Node
)
...
@@ -184,14 +181,14 @@ def doTheQuery(request , project_id):
...
@@ -184,14 +181,14 @@ def doTheQuery(request , project_id):
data
=
alist
data
=
alist
return
JsonHttpResponse
(
data
)
return
JsonHttpResponse
(
data
)
session
.
remove
()
def
testISTEX
(
request
,
project_id
):
def
testISTEX
(
request
,
project_id
):
print
(
"testISTEX:"
)
print
(
"testISTEX:"
)
print
(
request
.
method
)
print
(
request
.
method
)
alist
=
[
"bar"
,
"foo"
]
alist
=
[
"bar"
,
"foo"
]
sessionMaker
=
get_sessionmaker
()
# get_session()
session
=
get_session
()
session
=
sessionMaker
()
# do we have a valid project id?
# do we have a valid project id?
try
:
try
:
project_id
=
int
(
project_id
)
project_id
=
int
(
project_id
)
...
@@ -292,4 +289,4 @@ def testISTEX(request , project_id):
...
@@ -292,4 +289,4 @@ def testISTEX(request , project_id):
data
=
[
query_string
,
query
,
N
]
data
=
[
query_string
,
query
,
N
]
return
JsonHttpResponse
(
data
)
return
JsonHttpResponse
(
data
)
session
.
remove
()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment