Commit 92cad524 authored by PkSM3's avatar PkSM3

[UPDATE] corpora single-comparison

parent ad48332c
......@@ -79,8 +79,8 @@ urlpatterns = patterns('',
url(r'^tests/istextquery$', pubmedscrapper.getGlobalStatsISTEXT), # api/query?type=istext ?
url(r'^tests/pubmedquery$', pubmedscrapper.getGlobalStats),
url(r'^tests/project/(\d+)/pubmedquery/go$', pubmedscrapper.doTheQuery),
url(r'^tests/project/(\d+)/ISTEXquery/go$', pubmedscrapper.testISTEX)
url(r'^tests/project/(\d+)/ISTEXquery/go$', pubmedscrapper.testISTEX),
url(r'^tests/paginator/project/(\d+)/corpus/(\d+)/$', views.newpaginatorJSON)
)
......
......@@ -27,6 +27,7 @@ from collections import defaultdict
from parsing.FileParsers import *
import os
import json
# SOME FUNCTIONS
......@@ -305,6 +306,56 @@ def corpus(request, project_id, corpus_id):
return HttpResponse(html)
def newpaginatorJSON(request , project_id , corpus_id):
results = ["hola" , "mundo"]
# t = get_template('tests/newpag/thetable.html')
project = session.query(Node).filter(Node.id==project_id).first()
corpus = session.query(Node).filter(Node.id==corpus_id).first()
type_document_id = cache.NodeType['Document'].id
documents = session.query(Node).filter(Node.parent_id==corpus_id , Node.type_id == type_document_id ).all()
filtered_docs = []
for doc in documents:
if "publication_date" in doc.metadata:
try:
realdate = doc.metadata["publication_date"].split(" ")[0] # in database is = (year-month-day = 2015-01-06 00:00:00 = 06 jan 2015 00 hrs)
realdate = datetime.datetime.strptime(str(realdate), '%Y-%m-%d').date() # finalform = (yearmonthday = 20150106 = 06 jan 2015)
# doc.date = realdate
resdict = {}
resdict["id"] = doc.id
resdict["date"] = realdate
resdict["name"] = doc.name
filtered_docs.append( resdict )
except Exception as e:
print ("pag2 error01 detail:",e)
print("pag2 error01 doc:",doc)
results = sorted(filtered_docs, key=lambda x: x["date"])
for i in results:
i["date"] = i["date"].strftime("%Y-%m-%d")
finaldict = {
"records":results,
"queryRecordCount":10,
"totalRecordCount":len(results)
}
return JsonHttpResponse(finaldict)
# html = t.render(Context({\
# # 'user': user,\
# # 'date': date,\
# 'project': project_id,\
# 'corpus' : corpus_id,\
# # 'documents': results,\
# # 'number' : len(filtered_docs),\
# # 'dates' : chart,\
# }))
# return HttpResponse(html)
# Im using this actually
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
def subcorpus(request, project_id, corpus_id, start , end ):
if not request.user.is_authenticated():
......@@ -380,7 +431,6 @@ def subcorpus(request, project_id, corpus_id, start , end ):
return HttpResponse(html)
import json
def subcorpusJSON(request, project_id, corpus_id, start , end ):
if not request.user.is_authenticated():
return redirect('/login/?next=%s' % request.path)
......@@ -559,11 +609,34 @@ def graph(request, project_id, corpus_id):
project = session.query(Node).filter(Node.id==project_id).first()
corpus = session.query(Node).filter(Node.id==corpus_id).first()
user_id = cache.User[request.user.username].id
project_type_id = cache.NodeType['Project'].id
corpus_type_id = cache.NodeType['Corpus'].id
results = {}
projs = session.query(Node).filter(Node.type_id==project_type_id).all()
for i in projs:
# print(i.id , i.name)
if i.id not in results: results[i.id] = {}
results[i.id]["proj_name"] = i.name
results[i.id]["corpuses"] = []
corpuses = session.query(Node).filter(Node.parent_id==i.id , Node.type_id==corpus_type_id).all()
for j in corpuses:
if int(j.id)!=int(corpus_id):
info = { "id":j.id , "name":j.name }
results[i.id]["corpuses"].append(info)
# print("\t",j.id , j.name)
import pprint
pprint.pprint(results)
html = t.render(Context({\
'user' : user,\
'date' : date,\
'corpus' : corpus,\
'project' : project,\
'corpusinfo' : results,\
'graphfile' : "hola_mundo",\
}))
......@@ -667,7 +740,6 @@ def send_csv(request, corpus_id):
# To get the data
from gargantext_web.api import JsonHttpResponse
from analysis.functions import get_cooc
import json
def node_link(request, corpus_id):
'''
Create the HttpResponse object with the node_link dataset.
......
......@@ -199,8 +199,12 @@ def tfidf(request, corpus_id, ngram_ids):
.order_by(func.sum(NodeNodeNgram.score).desc())
.limit(limit)
)
# print("\n")
# print("in TFIDF:")
# print("\tcorpus_id:",corpus_id)
# convert query result to a list of dicts
for node, score in nodes_query:
print("\t corpus:",corpus_id,"\t",node.name)
node_dict = {
'id': node.id,
'score': score,
......@@ -210,5 +214,6 @@ def tfidf(request, corpus_id, ngram_ids):
node_dict[key] = node.metadata[key]
nodes_list.append(node_dict)
# print("= = = = = = = = \n")
data = json.dumps(nodes_list)
return JsonHttpResponse(data)
......@@ -4,7 +4,7 @@
<link rel="stylesheet" href="{% static "css/bootstrap.css" %}">
<link rel="stylesheet" href="{% static "css/bootstrap-theme.min.css" %}">
<link rel="stylesheet" href="{% static "js/libs/jquery/jquery-ui.css" %}" media="screen">
<link rel="stylesheet" href="{% static "js/libs/bootstrap/css/bootstrap.css" %}" media="screen">
<!-- <link rel="stylesheet" href="{% static "js/libs/bootstrap/css/bootstrap.css" %}" media="screen"> -->
<link rel="stylesheet" href="{% static "js/libs/css2/freshslider.css" %}" media="screen">
<link rel="stylesheet" href="{% static "js/libs/css2/custom.css" %}" media="screen">
<link rel="stylesheet" href="{% static "js/libs/css2/sidebar.css" %}" media="screen">
......@@ -260,13 +260,13 @@
</div>
<div id="topPapers"></div>
<!--
<!-- <div id="topPapers"></div> -->
<div id="tab-container-top" class='tab-container'>
<ul class='etabs'>
<li id="tabmed" class='tab active'><a href="#tabs3">Medline Pubs</a></li>
<li id="tabgps" class='tab'><a href="#tabs4">+</a></li>
<li id="tabgps" class='tab'><a onclick="$('#corpuses').modal('show');">+</a></li>
</ul>
<div class='panel-container'>
......@@ -278,7 +278,7 @@
</div>
</div>
</div>
-->
......@@ -350,6 +350,70 @@
</div>
<div id="corpuses" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">Corpus Comparison</h4>
</div>
<div class="modal-body form-horizontal">
Chose another corpus to compare with:
<div class="form-group">
<label class="col-lg-2 control-label"> </label>
<div class="col-lg-10">
<form id="corpuses_form" role="form">
<ul>
{% if corpusinfo %}
{% for k1, v1 in corpusinfo.items %}
{% if v1.corpuses|length > 0 %}
<br><li><a href="/project/{{k1}}/">{{v1.proj_name}}</a><br>
<ul style="list-style-type: none;">
{% for c in v1.corpuses %}
<li>
<div class="radio">
<label><input type="radio" id="{{c.id}}" name="optradio">
<a href="/project/{{k1}}/corpus/{{c.id}}/">{{c.name}}</a>
</label>
</div>
</li>
{% endfor %}
</ul>
</li>
{% endif %}
{% endfor %}
{% endif %}
</ul>
</form>
</div>
</div>
</div>
<div class="modal-footer">
<button id="closecorpuses" type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" onclick='printCorpuses();'>Add Tab</button>
</div>
</div>
</div>
</div>
<div id="modalloader" class="modal fade">
<div id="loader" class="loader">
<img src="{% static "js/libs/img2/loader.gif" %}" ></img>
......
......@@ -282,7 +282,7 @@
$("#simpleloader").html('<img width="30px" src="{% static "js/libs/img2/loading-bar.gif" %}"></img>')
$("#submit_thing").prop('onclick',null);
var theType = $("#id_type option:selected").html();
if(theType=="pubmed") doTheQuery();
if(theType=="Pubmed (xml format)") doTheQuery();
if(theType=="istex") {
testISTEX(origQuery.replace(" ","+"),1000)
}
......
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