Commit 193fb680 authored by Administrator's avatar Administrator

[FEATURE] [ERGO] View project: list of corpus sorted by type of source.

parent e997805a
{ {
"metadata": { "metadata": {
"name": "", "name": "",
"signature": "sha256:afa4500c465a35a34269d625e08a47001f13f0d79c32b94fbd86e37ea2b5f8d8" "signature": "sha256:2993a87a967d66a7ddb13adeee8f61edcc427c30048a4b1f235ebdc95f0713cf"
}, },
"nbformat": 3, "nbformat": 3,
"nbformat_minor": 0, "nbformat_minor": 0,
...@@ -225,7 +225,7 @@ ...@@ -225,7 +225,7 @@
"language": "python", "language": "python",
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"prompt_number": 16 "prompt_number": 34
}, },
{ {
"cell_type": "code", "cell_type": "code",
......
...@@ -149,27 +149,28 @@ def project(request, project_id): ...@@ -149,27 +149,28 @@ def project(request, project_id):
donut_part = defaultdict(int) donut_part = defaultdict(int)
docs_total = 0 docs_total = 0
list_corpora = defaultdict(list)
for corpus in corpora: for corpus in corpora:
docs_count = corpus.children.count() docs_count = corpus.children.count()
docs_total += docs_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): for node_resource in Node_Resource.objects.filter(node=corpus):
donut_part[node_resource.resource.type] += docs_count donut_part[node_resource.resource.type] += docs_count
list_corpora[node_resource.resource.type.name].append(corpus_view)
list_corpora = dict(list_corpora)
donut = [ {'source': key, donut = [ {'source': key,
'count': donut_part[key] , 'count': donut_part[key] ,
'part': round(donut_part[key] * 100 / docs_total) } \ 'part' : round(donut_part[key] * 100 / docs_total) } \
for key in donut_part.keys() ] 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': if request.method == 'POST':
...@@ -245,7 +246,7 @@ def project(request, project_id): ...@@ -245,7 +246,7 @@ def project(request, project_id):
'date': date, 'date': date,
'project': project, 'project': project,
'donut' : donut, 'donut' : donut,
'board' : board, 'list_corpora' : list_corpora,
'number': number, 'number': number,
}) })
......
...@@ -69,25 +69,34 @@ ...@@ -69,25 +69,34 @@
<!-- Add jumbotron container for each type of corpus (presse, science etc.) --!> <!-- Add jumbotron container for each type of corpus (presse, science etc.) --!>
<div class="container"> <div class="container">
<div class="row"> {% if list_corpora %}
{% if board %} <ul>
{% for corpus in board %} {% 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"> <div class="col-md-4">
<h3><a href="/project/{{project.id}}/corpus/{{corpus.id}}">{{corpus.name}}</a> <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> <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> </h3>
<h4>{{ corpus.count }} Documents </h4> <h4>{{ corpus.count }} Documents </h4>
<h5>Activity:</h5> <h5>Activity:</h5>
<div class="chart" data-percent="73">73%</div> <div class="chart" data-percent="73">73%</div>
</div> </div>
{% endfor %}
{% endif %} {% endif %}
</div>
</div> </div>
......
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