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
00f13afc
Commit
00f13afc
authored
Apr 22, 2015
by
PkSM3
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[UPDATE] cleaning previous paginator code
parent
54d85ec6
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
15 additions
and
731 deletions
+15
-731
urls.py
gargantext_web/urls.py
+0
-5
views.py
gargantext_web/views.py
+2
-199
views.py
scrappers/scrap_pubmed/views.py
+1
-1
dyna_chart_and_table.js
static/js/dyna_chart_and_table.js
+12
-17
corpus_trial.html
templates/corpus_trial.html
+0
-177
project.html_backup
templates/project.html_backup
+0
-171
subcorpus.html
templates/subcorpus.html
+0
-161
No files found.
gargantext_web/urls.py
View file @
00f13afc
...
...
@@ -39,8 +39,6 @@ urlpatterns = patterns('',
url
(
r'^project/(\d+)/corpus/(\d+)/$'
,
views
.
corpus
),
url
(
r'^project/(\d+)/corpus/(\d+)/corpus.csv$'
,
views
.
corpus_csv
),
url
(
r'^project/(\d+)/corpus/(tests_mvc_listdocuments+)/corpus.tests_mvc_listdocuments$'
,
views
.
corpus_csv
),
url
(
r'^project/(\d+)/corpus/(\d+)/timerange/(\d+)/(\d+)$'
,
views
.
subcorpus
),
# Visualizations
url
(
r'^project/(\d+)/corpus/(\d+)/chart$'
,
views
.
chart
),
...
...
@@ -66,8 +64,6 @@ urlpatterns = patterns('',
url
(
r'^api/nodes/(\d+)/children/duplicates$'
,
gargantext_web
.
api
.
NodesChildrenDuplicates
.
as_view
()),
# url(r'^api/nodes/(\d+)/children/duplicates/delete$', gargantext_web.api.NodesChildrenDuplicates.delete ),
url
(
r'^api/project/(\d+)/corpus/(\d+)/timerange/(\d+)/(\d+)$'
,
views
.
subcorpusJSON
),
url
(
r'^api/nodes/(\d+)/ngrams$'
,
gargantext_web
.
api
.
CorpusController
.
ngrams
),
# Provisory tests
...
...
@@ -81,7 +77,6 @@ urlpatterns = patterns('',
url
(
r'^tests/project/(\d+)/pubmedquery/go$'
,
pubmedscrapper
.
doTheQuery
),
url
(
r'^tests/project/(\d+)/ISTEXquery/go$'
,
pubmedscrapper
.
testISTEX
),
url
(
r'^tests/paginator/corpus/(\d+)/$'
,
views
.
newpaginatorJSON
),
url
(
r'^tests/project/(\d+)/corpus/(\d+)/$'
,
views
.
corpus_trial
),
url
(
r'^tests/move2trash/$'
,
views
.
move_to_trash_multiple
)
)
...
...
gargantext_web/views.py
View file @
00f13afc
...
...
@@ -254,61 +254,8 @@ def projects(request):
})
def
corpus
(
request
,
project_id
,
corpus_id
):
if
not
request
.
user
.
is_authenticated
():
return
redirect
(
'/login/?next=
%
s'
%
request
.
path
)
try
:
offset
=
int
(
project_id
)
offset
=
int
(
corpus_id
)
except
ValueError
:
raise
Http404
()
t
=
get_template
(
'corpus.html'
)
user
=
request
.
user
date
=
datetime
.
datetime
.
now
()
project
=
cache
.
Node
[
int
(
project_id
)]
corpus
=
cache
.
Node
[
int
(
corpus_id
)]
type_doc_id
=
cache
.
NodeType
[
'Document'
]
.
id
number
=
session
.
query
(
func
.
count
(
Node
.
id
))
.
filter
(
Node
.
parent_id
==
corpus_id
,
Node
.
type_id
==
type_doc_id
)
.
all
()[
0
][
0
]
try
:
chart
=
dict
()
chart
[
'first'
]
=
parse
(
corpus
.
children
.
first
()
.
metadata
[
'publication_date'
])
.
strftime
(
"
%
Y,
%
m,
%
d"
)
# TODO write with sqlalchemy
#chart['first'] = parse(session.query(Node.metadata['publication_date']).filter(Node.parent_id==corpus.id, Node.type_id==type_doc_id).first()).strftime("%Y, %m, %d")
chart
[
'last'
]
=
parse
(
corpus
.
children
.
last
()
.
metadata
[
'publication_date'
])
.
strftime
(
"
%
Y,
%
m,
%
d"
)
print
(
chart
)
except
Exception
as
error
:
print
(
error
)
try
:
processing
=
corpus
.
metadata
[
'Processing'
]
except
Exception
as
error
:
print
(
error
)
processing
=
0
print
(
'processing'
,
processing
)
html
=
t
.
render
(
Context
({
\
'user'
:
user
,
\
'date'
:
date
,
\
'project'
:
project
,
\
'corpus'
:
corpus
,
\
'processing'
:
processing
,
\
# 'documents': documents,\
'number'
:
number
,
\
'dates'
:
chart
,
\
}))
return
HttpResponse
(
html
)
def
corpus_trial
(
request
,
project_id
,
corpus_id
):
def
corpus
(
request
,
project_id
,
corpus_id
):
if
not
request
.
user
.
is_authenticated
():
return
redirect
(
'/login/?next=
%
s'
%
request
.
path
)
...
...
@@ -392,7 +339,7 @@ def newpaginatorJSON(request , corpus_id):
results
=
sorted
(
filtered_docs
,
key
=
lambda
x
:
x
[
"date"
])
for
i
in
results
:
i
[
"date"
]
=
i
[
"date"
]
.
strftime
(
"
%
Y-
%
m-
%
d"
)
print
(
i
[
"date"
]
,
i
[
"id"
]
,
i
[
"name"
])
#
print( i["date"] , i["id"] , i["name"])
finaldict
=
{
"records"
:
results
,
...
...
@@ -402,150 +349,6 @@ def newpaginatorJSON(request , corpus_id):
return
JsonHttpResponse
(
finaldict
)
# 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
():
return
redirect
(
'/login/?next=
%
s'
%
request
.
path
)
try
:
offset
=
str
(
project_id
)
offset
=
str
(
corpus_id
)
offset
=
str
(
start
)
offset
=
str
(
end
)
except
ValueError
:
raise
Http404
()
# parameters received via web. Format = (yearmonthday = 20150106 = 06 jan 2015)
import
datetime
dateini
=
datetime
.
datetime
.
strptime
(
str
(
start
),
'
%
Y
%
m
%
d'
)
.
date
()
datefin
=
datetime
.
datetime
.
strptime
(
str
(
end
),
'
%
Y
%
m
%
d'
)
.
date
()
# print (dateini,"\t",datefin)
t
=
get_template
(
'subcorpus.html'
)
user
=
request
.
user
date
=
datetime
.
datetime
.
now
()
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
# retrieving all the documents
# documents = corpus.children.all()
documents
=
session
.
query
(
Node
)
.
filter
(
Node
.
parent_id
==
corpus_id
,
Node
.
type_id
==
type_document_id
)
.
all
()
number
=
len
(
documents
)
filtered_docs
=
[]
# filtering documents by range-date
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)
if
dateini
<=
realdate
<=
datefin
:
doc
.
date
=
realdate
filtered_docs
.
append
(
doc
)
except
Exception
as
e
:
print
(
"pag error01 detail:"
,
e
)
print
(
"pag error01 doc:"
,
doc
)
# import pprint
# pprint.pprint(filtered_docs)
# ordering from most recent to the older.
ordered
=
sorted
(
filtered_docs
,
key
=
lambda
x
:
x
.
date
)
# pages of 10 elements. Like a sir.
paginator
=
Paginator
(
ordered
,
10
)
page
=
request
.
GET
.
get
(
'page'
)
try
:
results
=
paginator
.
page
(
page
)
except
PageNotAnInteger
:
# If page is not an integer, deliver first page.
results
=
paginator
.
page
(
1
)
except
EmptyPage
:
# If page is out of range (e.g. 9999), deliver last page of results.
results
=
paginator
.
page
(
paginator
.
num_pages
)
html
=
t
.
render
(
Context
({
\
'user'
:
user
,
\
'date'
:
date
,
\
'project'
:
project
,
\
'corpus'
:
corpus
,
\
'documents'
:
results
,
\
# 'number' : len(filtered_docs),\
# 'dates' : chart,\
}))
return
HttpResponse
(
html
)
def
subcorpusJSON
(
request
,
project_id
,
corpus_id
,
start
,
end
):
if
not
request
.
user
.
is_authenticated
():
return
redirect
(
'/login/?next=
%
s'
%
request
.
path
)
try
:
offset
=
str
(
project_id
)
offset
=
str
(
corpus_id
)
offset
=
str
(
start
)
offset
=
str
(
end
)
except
ValueError
:
raise
Http404
()
# parameters received via web. Format = (yearmonthday = 20150106 = 06 jan 2015)
import
datetime
dateini
=
datetime
.
datetime
.
strptime
(
str
(
start
),
'
%
Y
%
m
%
d'
)
.
date
()
datefin
=
datetime
.
datetime
.
strptime
(
str
(
end
),
'
%
Y
%
m
%
d'
)
.
date
()
t
=
get_template
(
'subcorpus.html'
)
print
(
dateini
,
"
\t
"
,
datefin
)
user
=
request
.
user
date
=
datetime
.
datetime
.
now
()
project
=
Node
.
objects
.
get
(
id
=
project_id
)
corpus
=
Node
.
objects
.
get
(
id
=
corpus_id
)
type_document
=
NodeType
.
objects
.
get
(
name
=
"Document"
)
# retrieving all the documents
# documents = corpus.children.all()
documents
=
corpus
.
__class__
.
objects
.
filter
(
parent_id
=
corpus_id
,
type
=
type_document
)
number
=
len
(
documents
)
filtered_docs
=
[]
# filtering documents by range-date
for
doc
in
documents
:
if
"publication_date"
in
doc
.
metadata
:
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)
if
dateini
<=
realdate
<=
datefin
:
doc
.
date
=
realdate
filtered_docs
.
append
(
doc
)
# ordering from most recent to the older.
ordered
=
sorted
(
filtered_docs
,
key
=
lambda
x
:
x
.
date
)
# pages of 10 elements. Like a sir.
paginator
=
Paginator
(
ordered
,
10
)
page
=
request
.
GET
.
get
(
'page'
)
try
:
results
=
paginator
.
page
(
page
)
except
PageNotAnInteger
:
# If page is not an integer, deliver first page.
results
=
paginator
.
page
(
1
)
except
EmptyPage
:
# If page is out of range (e.g. 9999), deliver last page of results.
results
=
paginator
.
page
(
paginator
.
num_pages
)
from
rest_framework.pagination
import
PaginationSerializer
serializer
=
PaginationSerializer
(
instance
=
results
)
print
(
serializer
.
data
)
html
=
t
.
render
(
Context
({
\
'user'
:
user
,
\
'date'
:
date
,
\
'corpus'
:
corpus
,
\
}))
# return HttpResponse(html)
return
HttpResponse
(
serializer
.
data
,
content_type
=
'application/json'
)
def
empty_trash
():
nodes
=
models
.
Node
.
objects
.
filter
(
type_id
=
cache
.
NodeType
[
'Trash'
]
.
id
)
.
all
()
with
transaction
.
atomic
():
...
...
scrappers/scrap_pubmed/views.py
View file @
00f13afc
...
...
@@ -44,7 +44,7 @@ def getGlobalStats(request ):
alist
=
[
"bar"
,
"foo"
]
if
request
.
method
==
"POST"
:
N
=
100
N
=
100
0
query
=
request
.
POST
[
"query"
]
print
(
"LOG::TIME:_ "
+
datetime
.
datetime
.
now
()
.
isoformat
()
+
" query ="
,
query
)
print
(
"LOG::TIME:_ "
+
datetime
.
datetime
.
now
()
.
isoformat
()
+
" N ="
,
N
)
...
...
static/js/dyna_chart_and_table.js
View file @
00f13afc
console
.
log
(
"hola mundo"
)
function
pr
(
msg
)
{
console
.
log
(
msg
)
...
...
@@ -121,18 +119,18 @@ var current_docs = {}
var
BIS_dict
=
{}
var
corpusid
=
window
.
location
.
href
.
split
(
"corpus"
)[
1
].
replace
(
/
\/
/g
,
''
)
//replace all the slashes
var
theurl
=
"/api/nodes/"
+
corpusid
+
"/children/duplicates?keys=title&limit=9999"
$
.
ajax
({
url
:
theurl
,
success
:
function
(
data
)
{
bisarray
=
data
.
data
for
(
var
i
in
bisarray
)
{
untitlebis
=
bisarray
[
i
].
values
BIS_dict
[
untitlebis
[
0
]]
=
[
bisarray
[
i
].
count
,
0
];
// [ total amount , removed ]
}
pr
(
BIS_dict
)
if
(
Object
.
keys
(
BIS_dict
).
length
>
0
)
$
(
"#delAll"
).
css
(
"visibility"
,
"visible"
);
$
(
"#delAll"
).
show
();
}
});
//
$.ajax({
//
url: theurl,
//
success: function(data) {
//
bisarray = data.data
//
for(var i in bisarray) {
//
untitlebis = bisarray[i].values
//
BIS_dict[untitlebis[0]] = [bisarray[i].count , 0];// [ total amount , removed ]
//
}
//
pr(BIS_dict)
//
if(Object.keys(BIS_dict).length>0) $("#delAll").css("visibility", "visible"); $("#delAll").show();
//
}
//
});
...
...
@@ -424,6 +422,3 @@ $.ajax({
// console.log(RecDict)
}
});
console
.
log
(
"the end"
)
\ No newline at end of file
templates/corpus_trial.html
deleted
100644 → 0
View file @
54d85ec6
{% extends "menu.html" %}
{% block css %}
{% load staticfiles %}
<link
rel=
"stylesheet"
type=
"text/css"
href=
"{% static "
css
/
bootstrap
.
css
"
%}"
>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"{% static "
css
/
morris
.
css
"
%}"
>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"{% static "
css
/
jquery
.
easy-pie-chart
.
css
"%}"
>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"{% static "
css
/
dc
.
css
"%}"
/>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"{% static "
css
/
jquery
.
dynatable
.
css
"%}"
/>
<script
type=
"text/javascript"
src=
"{% static "
js
/
charts
/
d3
.
js
"%}"
></script>
<script
type=
"text/javascript"
src=
"{% static "
js
/
charts
/
crossfilter
.
js
"%}"
></script>
<script
type=
"text/javascript"
src=
"{% static "
js
/
charts
/
dc
.
js
"%}"
></script>
<style>
.no-transition
{
-webkit-transition
:
height
0.1s
;
-moz-transition
:
height
0.1s
;
-ms-transition
:
height
0.1s
;
-o-transition
:
height
0.1s
;
transition
:
height
0.1s
;
}
</style>
{% endblock %}
{% block content %}
<div
class=
"container theme-showcase"
role=
"main"
>
<div
class=
"jumbotron"
>
{% if project %}
<h1>
{{ project.name }}, {{ corpus.name }}
</h1>
{% endif %}
{% if corpus %}
<p>
{{ number}} docs, Created on {{ corpus.date }}
</p>
{% endif %}
<!-- <a class="btn btn-primary btn-lg" role="button" href="/admin/documents/corpus/{{ corpus.id }}/">Add file</a> -->
<a
class=
"btn btn-primary btn-lg"
role=
"button"
href=
"/project/{{project.id}}/corpus/{{ corpus.id }}/corpus.csv"
>
Save as
</a>
<a
class=
"btn btn-primary btn-lg"
role=
"button"
href=
"/delete/{{ corpus.id }}"
>
Delete
</a></p>
{% if number == 0 %}
<a
class=
"btn btn-primary btn-lg"
role=
"button"
href=
"/admin/documents/corpus/{{ corpus.id }}/"
>
Add documents
</a></p>
{% endif %}
</div>
</div>
<div
class=
"container"
>
<div
class=
"container"
>
<div
class=
"row"
>
<div
id=
"monthly-move-chart"
>
<center>
<strong>
Title
</strong>
(Blue bars: all, Green line: zoom)
<a
class=
"reset"
href=
"javascript:volumeChart.filterAll();dc.redrawAll();"
style=
"display: none;"
>
reset
</a>
<div
class=
"clearfix"
></div>
</center>
</div>
</div>
<div
class=
"row"
>
<div
id=
"monthly-volume-chart"
></div>
<p
class=
"muted pull-left"
style=
"margin-right: 15px;"
>
Select a time range to zoom in
</p>
</div>
</div>
<p
align=
"center"
>
<a
class=
"btn btn-xs btn-default"
role=
"button"
href=
"/chart/corpus/{{ corpus.id }}/data.csv"
>
Save
</a></p>
<div
class=
"container"
>
<div
class=
"jumbotron"
>
<div
class=
"panel-group"
id=
"accordion"
role=
"tablist"
aria-multiselectable=
"true"
>
<div
class=
"panel panel-body"
>
<div
class=
"panel-heading"
>
<h4
class=
"panel-title"
>
<a
data-toggle=
"collapse"
data-parent=
"#accordion"
href=
"#collapseOne"
>
<p
onclick=
'Final_UpdateTable("click")'
class=
"btn btn-primary btn-lg"
align=
"right"
>
Read documents
</h2></p>
</a>
</h4>
</div>
<div
id=
"collapseOne"
class=
"panel-collapse collapse no-transition"
role=
"tabpanel"
>
<div
class=
"panel-body"
>
<p
align=
"right"
>
<button
id=
"move2trash"
class=
"btn btn-primary btn-lg"
>
Move to trash!
</button>
<!-- <p onclick='console.log("move to trash bitches")' class="btn btn-primary btn-lg" align="left">Move to Trash!</p> -->
</p>
<p
align=
"right"
>
<table
id=
"my-ajax-table"
class=
"table table-bordered"
>
<thead>
<!-- <th data-dynatable-column="id">ID</th> -->
<th
data-dynatable-column=
"date"
>
Date
</th>
<th
data-dynatable-column=
"name"
>
Title
</th>
<th
data-dynatable-column=
"del"
data-dynatable-no-sort=
"true"
>
Trash
</th>
</thead>
<tbody>
</tbody>
</table>
</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"container"
>
<div
class=
"row"
>
<div
class=
"col-md-4"
>
<div
class=
"jumbotron"
>
<h3><a
href=
"/project/{{project.id}}/corpus/{{corpus.id}}/chart"
>
Advanced charts
</a></h3>
<ol>
<li>
Count
</li>
<!-- read, compute -->
<li>
Filter
</li>
<!-- count, compute -->
<li>
Compare
</li>
<!-- select, cut -->
</ol>
<h4><a
href=
"/project/{{project.id}}/corpus/{{corpus.id}}/"
>
Back to corpus
</a></h3>
</div>
</div>
<div
class=
"col-md-4"
>
<div
class=
"jumbotron"
>
<h3><a
href=
"/project/{{project.id}}/corpus/{{corpus.id}}/matrix"
>
Matrix
</a></h3>
<ol>
<li>
Sort
</li>
<li>
Group
</li>
<li>
Cluster
</li>
</ol>
<h4><a
href=
"/project/{{project.id}}/corpus/{{corpus.id}}/"
>
Back to corpus
</a></h3>
</div>
</div>
<div
class=
"col-md-4"
>
<div
class=
"jumbotron"
>
{% if processing >= "1" %}
<h3>
<img
width=
"20px"
src=
"{% static "
js
/
libs
/
img2
/
loading-bar
.
gif
"
%}"
></img>
Graph (later)
</h3>
{% else %}
<h3><a
href=
"/project/{{project.id}}/corpus/{{ corpus.id }}/explorer"
>
Graph
</a></h3>
{% endif %}
<ol>
<li>
Visualize
</li>
<li>
Explore
</li>
<li>
Read
</li>
</ol>
<h4><a
href=
"/project/{{project.id}}/corpus/{{corpus.id}}/"
>
Back to corpus
</a></h3>
</div>
</div>
</div>
</div>
<script
type=
"text/javascript"
src=
"{% static "
js
/
jquery
/
jquery
.
min
.
js
"
%}"
></script>
<script
src=
"{% static "
js
/
charts
/
bootstrap
.
min
.
js
"
%}"
></script>
<script
type=
"text/javascript"
src=
"{% static "
js
/
jquery
/
jquery
.
dynatable
.
js
"
%}"
></script>
<!-- custom-lib for dynatable.js and dc.js -->
<script
type=
"text/javascript"
src=
"{% static "
js
/
dyna_chart_and_table
.
js
"
%}"
></script>
{% endblock %}
templates/project.html_backup
deleted
100644 → 0
View file @
54d85ec6
{% extends "menu.html" %}
{% block css %}
{% load staticfiles %}
<link rel="stylesheet" href="{% static "css/bootstrap.css" %}">
<link rel="stylesheet" type="text/css" href="{% static "css/morris.css" %}">
<link rel="stylesheet" type="text/css" href="{% static "css/jquery.easy-pie-chart.css"%}">
<script type="text/javascript" src="{% static "js/jquery/jquery.min.js" %}"></script>
<script src="{% static "js/raphael-min.js"%}"></script>
<script src="{% static "js/morris.min.js"%}"></script>
{% endblock %}
{% block content %}
<div class="container theme-showcase" role="main">
<div class="jumbotron">
<div class="row">
<div class="col-md-6">
{% if project %}
<h1>{{ project.name }}</h1>
<!--<h3> {{number}} corpora </h3>-->
{% endif %}
</div>
<div class="col-md-4">
<p>
{% if donut %}
<div id="hero-donut" style="height: 200px;"></div>
{% endif %}
<center>
<button
type="button"
class="btn btn-primary btn-lg"
data-container="body"
data-toggle="popover"
data-placement="bottom"
>Add a corpus</button>
<div id="popover-content" class="hide">
<form enctype="multipart/form-data" action="/project/{{project.id}}/" method="post">
{% csrf_token %}
{{ form.non_field_errors }}
{{ form.as_p}}
{{ formResource.non_field_errors }}
{{ formResource.as_p}}
<input onclick='$("#semLoader").css("visibility", "visible"); $("#semLoader").show();' type="submit" name="submit" id="submit" class="btn" value="Add this corpus" /><div>
</center>
</p>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Add jumbotron container for each type of corpus (presse, science etc.) -->
<div id="semLoader" style="position:absolute; top:50%; left:40%; width:80px; visibility: hidden;">
<img src="{% static "js/libs/img2/loading-bar.gif" %}"></img>
</div>
<div class="container">
{% if list_corpora %}
<h1>Resources</h1>
<h2>Corpora</h2>
<ul>
{% for key, corpora in list_corpora.items %}
<li>{{ key }}</li>
<ul>
{% for corpus in corpora %}
<li> {% ifnotequal corpus.count 0 %}
<a href="/project/{{project.id}}/corpus/{{corpus.id}}">
{{corpus.name}}
</a>
, {{ corpus.count }} Documents
{% else %}
{{corpus.name}} : <img width="20px" src="{% static "js/libs/img2/loading-bar.gif" %}"></img> Processing, drink a cup of tea, and refresh the page :)
{% endifnotequal %}
<button type="button" class="btn btn-xs btn-default" data-container="body" data-toggle="popover" data-placement="bottom"
data-content='
<ul>
<li> Rename </li>
<li> Add new documents </li>
<li><a href="/project/{{ project.id }}/corpus/{{ corpus.id}}/delete">Delete</a></li>
</ul>
'>Manage</button>
</li>
{% endfor %}
</ul>
{% endfor %}
</ul>
{% endif %}
{% if list_corporax %}
<div class="col-md-4">
<h3><a href="/project/{{project.id}}/corpus/{{corpus.id}}">{{corpus.name}}</a>
</h3>
<h4>{{ corpus.count }} Documents </h4>
<h5>Activity:</h5>
<div class="chart" data-percent="73">73%</div>
</div>
{% endif %}
{% if whitelists %}
<h2>Lists of Ngrams</h2>
<h3>White Lists</h2>
{% for list in whitelists %}
<ul>
<li> {{list.name }}
</ul>
{% endfor %}
{% endif %}
{% if whitelists %}
<h3>Black Lists</h2>
{% for list in blacklists %}
<ul>
<li> {{list.name }}
</ul>
{% endfor %}
{% endif %}
{% if cooclists %}
<h2>Results (graphs)</h2>
<h3>Cooccurrences Lists</h2>
{% for list in cooclists %}
<ul>
<li> {{list.name }}
</ul>
{% endfor %}
{% endif %}
</div>
<script>
// Morris Donut Chart
Morris.Donut({
element: 'hero-donut',
data: [
{% if donut %}
{% for part in donut %}
{label: '{{ part.source }}', value: {{ part.part }} },
{% endfor %}
{% endif %}
],
colors: ["@white", "@white"],
//colors: ["#30a1ec", "#76bdee"],
formatter: function (y) { return y + "%" }
});
</script>
{% endblock %}
templates/subcorpus.html
deleted
100644 → 0
View file @
54d85ec6
<div
class=
"pagination"
>
<span
class=
"step-links"
>
{% if documents.has_previous %}
<a
style=
"cursor: pointer;"
onclick=
"updateDocuments({{ documents.previous_page_number }},true);"
>
previous
</a>
{% endif %}
<div
id=
"currentpage"
style=
"display: none;"
>
{{ documents.number }}
</div>
<span
class=
"current"
>
<strong>
Page {{ documents.number }}
</strong>
of {{ documents.paginator.num_pages }}.
</span>
{% if documents.has_next %}
<a
style=
"cursor: pointer;"
onclick=
"updateDocuments({{ documents.next_page_number }},true);"
>
next
</a>
{% endif %}
</span>
</div>
{% if documents %}
<ul>
{% for doc in documents %}
{% if doc.date %}
<li><div
id=
"doc_{{doc.id}}"
>
<b>
{{ doc.date }}
</b>
:
<a
target=
"_blank"
href=
"/nodeinfo/{{doc.id}}"
>
{{ doc.name}}
</a>
, @ {{ doc.metadata.source}}
</div></li>
{% endif %}
{% endfor %}
<div
id=
"delAll"
style=
"visibility: hidden;"
>
<center>
<button
onclick=
"deleteDuplicates(theurl);"
>
Delete all Duplicates in one click
</button>
</center>
</div>
</ul>
<script>
function
getCookie
(
name
)
{
var
cookieValue
=
null
;
if
(
document
.
cookie
&&
document
.
cookie
!=
''
)
{
var
cookies
=
document
.
cookie
.
split
(
';'
);
for
(
var
i
=
0
;
i
<
cookies
.
length
;
i
++
)
{
var
cookie
=
jQuery
.
trim
(
cookies
[
i
]);
// Does this cookie string begin with the name we want?
if
(
cookie
.
substring
(
0
,
name
.
length
+
1
)
==
(
name
+
'='
))
{
cookieValue
=
decodeURIComponent
(
cookie
.
substring
(
name
.
length
+
1
));
break
;
}
}
}
return
cookieValue
;
}
//Delete all the duplicates using the Django-Garg API.
function
deleteDuplicates
(
url
)
{
console
.
log
(
"hello world"
)
console
.
log
(
url
)
$
.
ajax
({
url
:
url
,
type
:
'DELETE'
,
beforeSend
:
function
(
xhr
)
{
xhr
.
setRequestHeader
(
"X-CSRFToken"
,
getCookie
(
"csrftoken"
));
},
success
:
function
(
data
)
{
console
.
log
(
"in DeleteDuplicates"
)
console
.
log
(
data
)
location
.
reload
();
},
error
:
function
(
result
)
{
console
.
log
(
"Data not found"
);
console
.
log
(
result
)
}
});
}
function
deleteNode
(
node_id
)
{
$
.
ajax
({
url
:
'/api/nodes/'
+
node_id
,
type
:
'DELETE'
,
beforeSend
:
function
(
xhr
)
{
xhr
.
setRequestHeader
(
"X-CSRFToken"
,
getCookie
(
"csrftoken"
));
},
success
:
function
(
result
)
{
console
.
log
(
"deleting: "
)
console
.
log
(
current_docs
[
node_id
])
var
title
=
current_docs
[
node_id
]
console
.
log
(
result
)
var
currentpage
=
$
(
"#currentpage"
).
html
()
console
.
log
(
"vaciando div de subcorpus"
)
$
(
"#divsubcorpus"
).
html
(
""
)
console
.
log
(
"before:"
)
console
.
log
(
BIS_dict
[
title
])
BIS_dict
[
title
][
0
]
--
;
BIS_dict
[
title
][
1
]
++
;
console
.
log
(
"after:"
)
console
.
log
(
BIS_dict
[
title
])
// updateDocuments( currentpage , true );
console
.
log
(
"after delete: updateDocuments( "
+
currentpage
+
" , true )"
)
updateDocuments
(
currentpage
,
true
)
// $.when( updateDocuments( currentpage , true ) ).done(function(a1) {
// console.log("inside the wheeeeen")
// console.log(BIS_dict[title])
// if(BIS_dict[title][0] == BIS_dict[title][1]) {
// $.doTimeout( 1000, function(){
// var elems = current_docs[title]
// for (var i in elems ) {
// var id = elems[i]
// console.log("deleting icons for :"+"#delete_"+id)
// $("#delete_"+id).remove();
// }
// });
// }
// // // // if(BIS_dict[title][0] == BIS_dict[title][1])
// // // // $("#delete_"+node_id).remove();
// // // current_docs = []
// // {% for doc in documents %}
// // id = "doc_{{doc.id}}"
// // title = "{{doc.name}}"
// // console.log(BIS_dict[title])
// // if(BIS_dict[title] && BIS_dict[title][0] > BIS_dict[title][1]) {
// // var del_img = '
<
span
id
=
"delete_{{doc.id}}"
><
a
title
=
"Delete this document!"
style
=
"cursor: pointer;"
onclick
=
"deleteNode('+"
{{
doc
.
id
}}
"+',
\
''+title+'
\
')"
><
img
width
=
"20px"
src
=
"/static/img/delete-big.png"
><
/img></
a
><
span
>
'
// // $("#"+id).prepend( del_img )
// // }
// // {% endfor %}
// });
},
error: function(result) {
console.log("Data not found");
console.log(result)
}
});
}
//'
+
"{{doc.id}}"
+
',
\
"'
+
title
+
'
\
"
current_docs = {}
if(Object.keys(BIS_dict).length>0) {
$("#delAll").css("visibility", "visible");
$("#delAll").show();
} else $("#delAll").remove()
{% for doc in documents %}
id = "doc_{{doc.id}}"
title = $("<div/>").html("{{doc.name}}").text()
current_docs["{{doc.id}}"] = title;
if(BIS_dict[title] && BIS_dict[title][0] > BIS_dict[title][1]) {
jspart = '
onclick
=
"deleteNode( {{doc.id}} );"
'
var del_img = '
<
a
title
=
"Delete this document!"
style
=
"cursor: pointer;"
'+jspart+'
><
img
width
=
"20px"
src
=
"/static/img/delete-big.png"
><
/img></
a
>
'
$("#"+id).prepend( del_img )
}
{% endfor %}
</script>
{% endif %}
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