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
99808934
Commit
99808934
authored
Nov 06, 2014
by
Administrator
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'alex'
Intégration Alex ergo
parents
61f36a90
193fb680
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
67 additions
and
40 deletions
+67
-40
AlexandreTests.ipynb
AlexandreTests.ipynb
+2
-2
views.py
gargantext_web/views.py
+43
-27
project.html
templates/project.html
+22
-11
No files found.
AlexandreTests.ipynb
View file @
99808934
{
"metadata": {
"name": "",
"signature": "sha256:
afa4500c465a35a34269d625e08a47001f13f0d79c32b94fbd86e37ea2b5f8d8
"
"signature": "sha256:
2993a87a967d66a7ddb13adeee8f61edcc427c30048a4b1f235ebdc95f0713cf
"
},
"nbformat": 3,
"nbformat_minor": 0,
...
...
@@ -225,7 +225,7 @@
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number":
16
"prompt_number":
34
},
{
"cell_type": "code",
...
...
gargantext_web/views.py
View file @
99808934
...
...
@@ -69,6 +69,11 @@ def date_range(start_dt, end_dt = None, format=None):
# SOME VIEWS
def
home
(
request
):
'''
Home describes the platform.
A video draws the narratives.
If not logged a project test is shown.
'''
t
=
get_template
(
'home.html'
)
user
=
request
.
user
date
=
datetime
.
datetime
.
now
()
...
...
@@ -81,6 +86,11 @@ def home(request):
return
HttpResponse
(
html
)
def
projects
(
request
):
'''
This view show all projects for each user.
Each project is described with metadata that are updateded on each following view.
To each project, we can link a resource that can be an image.
'''
if
not
request
.
user
.
is_authenticated
():
return
redirect
(
'/admin/logout/?next=
%
s'
%
request
.
path
)
...
...
@@ -112,6 +122,13 @@ def projects(request):
})
def
project
(
request
,
project_id
):
'''
This view represents all corpora in a panoramic way.
The title sums all corpora
The donut summerizes composition of the project.
The list of lists enalbles to navigate throw it.
'''
if
not
request
.
user
.
is_authenticated
():
return
redirect
(
'/login/?next=
%
s'
%
request
.
path
)
...
...
@@ -126,28 +143,34 @@ def project(request, project_id):
project
=
Node
.
objects
.
get
(
id
=
project_id
)
corpora
=
project
.
children
.
all
()
number
=
project
.
children
.
count
()
# DONUT corpora representation
donut_part
=
defaultdict
(
int
)
docs_total
=
0
list_corpora
=
defaultdict
(
list
)
total
=
0
donut
=
list
()
donut_part
=
dict
()
for
corpus
in
corpora
:
count
=
corpus
.
children
.
count
()
total
+=
count
docs_count
=
corpus
.
children
.
count
()
docs_total
+=
docs_count
corpus_view
=
dict
()
corpus_view
[
'id'
]
=
corpus
.
pk
corpus_view
[
'name'
]
=
corpus
.
name
corpus_view
[
'count'
]
=
corpus
.
children
.
count
()
for
node_resource
in
Node_Resource
.
objects
.
filter
(
node
=
corpus
):
donut_part
[
node_resource
.
resource
.
type
]
+=
docs_count
list_corpora
[
node_resource
.
resource
.
type
.
name
]
.
append
(
corpus_view
)
list_corpora
=
dict
(
list_corpora
)
print
(
node_resource
.
resource
.
type
,
count
,
total
,
)
donut
=
[
{
'source'
:
key
,
'count'
:
donut_part
[
key
]
,
'part'
:
round
(
donut_part
[
key
]
*
100
/
docs_total
)
}
\
for
key
in
donut_part
.
keys
()
]
board
=
list
()
for
corpus
in
corpora
:
dashboard
=
dict
()
dashboard
[
'id'
]
=
corpus
.
pk
dashboard
[
'name'
]
=
corpus
.
name
dashboard
[
'count'
]
=
corpus
.
children
.
count
()
board
.
append
(
dashboard
)
if
request
.
method
==
'POST'
:
...
...
@@ -182,6 +205,7 @@ def project(request, project_id):
user
=
request
.
user
,
parent
=
parent
,
type
=
node_type
,
language
=
language
,
name
=
name
,
)
except
:
...
...
@@ -189,7 +213,6 @@ def project(request, project_id):
user
=
request
.
user
,
parent
=
parent
,
type
=
node_type
,
language
=
language
,
name
=
name
,
)
...
...
@@ -215,22 +238,15 @@ def project(request, project_id):
else
:
form
=
CorpusForm
(
request
=
request
)
formResource
=
ResourceForm
()
camembert
=
[
{
'source'
:
'Science'
,
'count'
:
33
,
'part'
:
3
},
{
'source'
:
'Press'
,
'count'
:
23
,
'part'
:
3
},
{
'source'
:
'Web'
,
'count'
:
50
,
'part'
:
3
},
]
return
render
(
request
,
'project.html'
,
{
'form'
:
form
,
'formResource'
:
formResource
,
'user'
:
user
,
'date'
:
date
,
'project'
:
project
,
'
camembert'
:
camember
t
,
'
board'
:
board
,
'
donut'
:
donu
t
,
'
list_corpora'
:
list_corpora
,
'number'
:
number
,
})
...
...
templates/project.html
View file @
99808934
...
...
@@ -32,7 +32,9 @@
<div
class=
"col-md-4"
>
<p>
{% if donut %}
<div
id=
"hero-donut"
style=
"height: 200px;"
></div>
{% endif %}
<center>
<button
type=
"button"
...
...
@@ -67,25 +69,34 @@
<!-- Add jumbotron container for each type of corpus (presse, science etc.) --!>
<div class="container">
<div class="row">
{% if board %}
{% for corpus in board %}
{% if list_corpora %}
<ul>
{% for key, corpora in list_corpora.items %}
<li>{{ key }}</li>
<ul>
{% for corpus in corpora %}
<li>
<a href="/project/{{project.id}}/corpus/{{corpus.id}}">{{corpus.name}}</a>
, {{ corpus.count }} Documents
</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>
<button type="button" class="btn btn-xs btn-default" data-container="body" data-toggle="popover" data-placement="bottom" data-content='<a href="/project/{{ project.id }}/corpus/{{ corpus.id}}/delete">Yes, I am sure!</a>'>Delete</button>
</h3>
<h4>{{ corpus.count }} Documents </h4>
<h5>Activity:</h5>
<div class="chart" data-percent="73">73%</div>
</div>
{% endfor %}
{% endif %}
</div>
</div>
...
...
@@ -94,8 +105,8 @@
Morris.Donut({
element: 'hero-donut',
data: [
{% if
camember
t %}
{% for part in
camember
t %}
{% if
donu
t %}
{% for part in
donu
t %}
{label: '{{ part.source }}, {{part.count}} docs', value: {{ part.part }} },
{% endfor %}
{% 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