enhance front links and little optimisation
authorcavaliet
Tue, 29 Oct 2013 12:41:20 +0100
changeset 160 3cf9e6bd988f
parent 159 d3d6f0289c8f
child 161 adafb3d13a19
enhance front links and little optimisation
.hgignore
src/jocondelab/static/jocondelab/css/front-common.css
src/jocondelab/templates/jocondelab/front_about.html
src/jocondelab/templates/jocondelab/front_credits.html
src/jocondelab/templates/jocondelab/front_describe.html
src/jocondelab/templates/jocondelab/front_geo.html
src/jocondelab/templates/jocondelab/front_home.html
src/jocondelab/templates/jocondelab/front_legal.html
src/jocondelab/templates/jocondelab/front_notice.html
src/jocondelab/templates/jocondelab/front_search.html
src/jocondelab/templates/jocondelab/front_students.html
src/jocondelab/templates/jocondelab/front_termlist.html
src/jocondelab/templates/jocondelab/front_timeline.html
src/jocondelab/urls.py
src/jocondelab/views/front_office.py
--- a/.hgignore	Mon Oct 28 17:59:08 2013 +0100
+++ b/.hgignore	Tue Oct 29 12:41:20 2013 +0100
@@ -7,4 +7,6 @@
 syntax: regexp
 ^sbin/sync/config\.py$
 syntax: regexp
-^virtualenv/web/project-boot\.py$
\ No newline at end of file
+^virtualenv/web/project-boot\.py$
+syntax: regexp
+^src/jocondelab/modwsgi\.wsgi$
\ No newline at end of file
--- a/src/jocondelab/static/jocondelab/css/front-common.css	Mon Oct 28 17:59:08 2013 +0100
+++ b/src/jocondelab/static/jocondelab/css/front-common.css	Tue Oct 29 12:41:20 2013 +0100
@@ -77,6 +77,9 @@
 a:hover {
     text-decoration: underline; color: #800000;
 }
+.no-over:hover {
+    text-decoration: none; color: inherit;
+}
 
 b, .bold {
     font-weight: 800;
--- a/src/jocondelab/templates/jocondelab/front_about.html	Mon Oct 28 17:59:08 2013 +0100
+++ b/src/jocondelab/templates/jocondelab/front_about.html	Tue Oct 29 12:41:20 2013 +0100
@@ -3,7 +3,7 @@
 
 {% block title %}JocondeLab » {% trans 'À propos' %}{% endblock %}
 
-{% block breadcrumbs %}<a href="{% url 'front_about' %}">{% trans 'À propos' %}</a>{% endblock %}
+{% block breadcrumbs %}{% trans 'À propos' %}{% endblock %}
 
 {% block main %}
                         
--- a/src/jocondelab/templates/jocondelab/front_credits.html	Mon Oct 28 17:59:08 2013 +0100
+++ b/src/jocondelab/templates/jocondelab/front_credits.html	Tue Oct 29 12:41:20 2013 +0100
@@ -8,7 +8,7 @@
 
 {% block title %}JocondeLab &raquo; {% trans 'Crédits' %}{% endblock %}
 
-{% block breadcrumbs %}<a href="{% url 'front_about' %}">{% trans 'Crédits' %}</a>{% endblock %}
+{% block breadcrumbs %}{% trans 'Crédits' %}{% endblock %}
 
 {% block main %}
                         
--- a/src/jocondelab/templates/jocondelab/front_describe.html	Mon Oct 28 17:59:08 2013 +0100
+++ b/src/jocondelab/templates/jocondelab/front_describe.html	Tue Oct 29 12:41:20 2013 +0100
@@ -3,7 +3,7 @@
 
 {% block title %}JocondeLab &raquo; {% trans "Contribuer" %}{% endblock %}
 {% url 'front_about' as url %}
-{% block breadcrumbs %}<a href="{{url}}">{% trans "Contribuer" %}</a>{% endblock %}
+{% block breadcrumbs %}{% trans "Contribuer" %}{% endblock %}
 {% block main %}
 <div class="describe-mode">
     {% block images %}{{block.super}}{% endblock %}
--- a/src/jocondelab/templates/jocondelab/front_geo.html	Mon Oct 28 17:59:08 2013 +0100
+++ b/src/jocondelab/templates/jocondelab/front_geo.html	Tue Oct 29 12:41:20 2013 +0100
@@ -34,7 +34,7 @@
 
 {% block title %}JocondeLab &raquo; {% trans 'Mappemonde' %}{% endblock %}
 
-{% block breadcrumbs %}<a href="{% url 'front_geo' %}">{% trans 'Mappemonde' %}</a>{% endblock %}
+{% block breadcrumbs %}{% trans 'Mappemonde' %}{% endblock %}
 
 {% block main %}
             <div class="map-container">
--- a/src/jocondelab/templates/jocondelab/front_home.html	Mon Oct 28 17:59:08 2013 +0100
+++ b/src/jocondelab/templates/jocondelab/front_home.html	Tue Oct 29 12:41:20 2013 +0100
@@ -23,30 +23,42 @@
             <h2 class="about-jl">{% trans 'Bienvenue sur JocondeLab' %}</h2>
             
             <ul class="module-list">
+              <a class="no-over" href="{% url 'front_about' %}">
                 <li class="module-item">
-                    <h3><a href="{% url 'front_about' %}">{% trans "À propos" %}</a></h3>
+                    <h3>{% trans "À propos" %}</h3>
                     <p>{% trans "Tout savoir sur l'expérimentation JocondeLab." %}</p>
                 </li>
+              </a>
+              <a class="no-over" href="{% url 'front_geo' %}">
                 <li class="module-item">
-                    <h3><a href="{% url 'front_geo' %}">{% trans "Mappemonde" %}</a></h3>
+                    <h3>{% trans "Mappemonde" %}</h3>
                     <p>{% trans "Découvrez le monde à travers les collections des musées de France." %}</p>
                 </li>
+              </a>
+              <a class="no-over" href="{% url 'front_timeline' %}">
                 <li class="module-item">
-                    <h3><a href="{% url 'front_timeline' %}">{% trans "Chronologie" %}</a></h3>
+                    <h3>{% trans "Chronologie" %}</h3>
                     <p>{% trans "Découvrez les collections des musées de France au fil du temps (période ou date précise)." %}</p>
                 </li>
+              </a>
+              <a class="no-over" href="{% url 'front_termlist' %}">
                 <li class="module-item">
-                    <h3><a href="{% url 'front_termlist' %}">{% trans "Mots-clés" %}</a></h3>
+                    <h3>{% trans "Mots-clés" %}</h3>
                     <p>{% trans "Choisissez un artiste, un sujet représenté, un domaine ou une époque d'un simple clic." %}</p>
                 </li>
+              </a>
+              <a class="no-over" href="{% url 'random_describe' %}">
                 <li class="module-item">
-                    <h3><a href="{% url 'random_describe' %}">{% trans "Contribuer" %}</a></h3>
+                    <h3>{% trans "Contribuer" %}</h3>
                     <p>{% trans "Aidez-nous à décrire le sujet d'une œuvre à l'aide de Wikipédia." %}</p>
                 </li>
+              </a>
+              <a class="no-over" href="{% url 'front_students' %}">
                 <li class="module-item">
-                    <h3><a href="{% url 'front_about' %}">{% trans "Travaux étudiants" %}</a></h3>
+                    <h3>{% trans "Travaux étudiants" %}</h3>
                     <p>Les travaux des étudiants des Gobelins</p>
                 </li>
+              </a>
             </ul>
         </div>
 {{block.super}}
--- a/src/jocondelab/templates/jocondelab/front_legal.html	Mon Oct 28 17:59:08 2013 +0100
+++ b/src/jocondelab/templates/jocondelab/front_legal.html	Tue Oct 29 12:41:20 2013 +0100
@@ -3,7 +3,7 @@
 
 {% block title %}JocondeLab &raquo; {% trans 'Mentions légales' %}{% endblock %}
 
-{% block breadcrumbs %}<a href="{% url 'front_about' %}">{% trans 'Mentions légales' %}</a>{% endblock %}
+{% block breadcrumbs %}{% trans 'Mentions légales' %}{% endblock %}
 
 {% block main %}
                         
--- a/src/jocondelab/templates/jocondelab/front_notice.html	Mon Oct 28 17:59:08 2013 +0100
+++ b/src/jocondelab/templates/jocondelab/front_notice.html	Tue Oct 29 12:41:20 2013 +0100
@@ -32,7 +32,7 @@
 
 {% block title %}JocondeLab &raquo; {% trans "Détail d'une notice" %}{% endblock %}
 
-{% block breadcrumbs %}<a href="{% url 'front_notice' object.id %}">{% trans "Détail d'une notice" %}</a>{% endblock %}
+{% block breadcrumbs %}{% trans "Détail d'une notice" %}{% endblock %}
 
 {% block main %}
             <div class="notice-colright-wrapper">
--- a/src/jocondelab/templates/jocondelab/front_search.html	Mon Oct 28 17:59:08 2013 +0100
+++ b/src/jocondelab/templates/jocondelab/front_search.html	Tue Oct 29 12:41:20 2013 +0100
@@ -13,9 +13,7 @@
 {% block title %}JocondeLab &raquo; {% if searchterms_label %}{% blocktrans %}Résultats pour&nbsp;: &laquo;&nbsp;{{searchterms_label}}&nbsp;&raquo;{% endblocktrans %}{% else %}{% trans 'Recherche' %}{% endif %}{% endblock %}
 
 {% block breadcrumbs %}
-    <a href="{% url 'front_search' %}{% if querystr %}?{{querystr}}{% endif %}">
     {% if searchterms_label %}{% blocktrans %}Résultats pour&nbsp;: &laquo;&nbsp;{{searchterms_label}}&nbsp;&raquo;{% endblocktrans %}{% else %}{% trans 'Recherche' %}{% endif %}
-    </a>
 {% endblock %}
 
 {% block header_search %}{% endblock %}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/jocondelab/templates/jocondelab/front_students.html	Tue Oct 29 12:41:20 2013 +0100
@@ -0,0 +1,12 @@
+{% extends "jocondelab/front_base.html" %}
+{% load i18n %}
+
+{% block title %}JocondeLab &raquo; {% trans "Travaux d'étudiants" %}{% endblock %}
+
+{% block breadcrumbs %}{% trans "Travaux d'étudiants" %}{% endblock %}
+
+{% block main %}
+                        
+            <p class="about-text">{% blocktrans %}Travaux d'étudiants{% endblocktrans %} (à venir)</p>
+            
+{% endblock %}
\ No newline at end of file
--- a/src/jocondelab/templates/jocondelab/front_termlist.html	Mon Oct 28 17:59:08 2013 +0100
+++ b/src/jocondelab/templates/jocondelab/front_termlist.html	Tue Oct 29 12:41:20 2013 +0100
@@ -13,7 +13,7 @@
 
 {% block title %}JocondeLab &raquo; {% trans 'Mots-clés' %}{% endblock %}
 
-{% block breadcrumbs %}<a href="{% url 'front_termlist' %}">{% trans 'Mots-clés' %}</a>{% endblock %}
+{% block breadcrumbs %}{% trans 'Mots-clés' %}{% endblock %}
 
 {% block main %}
             
--- a/src/jocondelab/templates/jocondelab/front_timeline.html	Mon Oct 28 17:59:08 2013 +0100
+++ b/src/jocondelab/templates/jocondelab/front_timeline.html	Tue Oct 29 12:41:20 2013 +0100
@@ -22,7 +22,7 @@
 
 {% block title %}JocondeLab &raquo; {% trans 'Chronologie' %}{% endblock %}
 
-{% block breadcrumbs %}<a href="{% url 'front_timeline' %}">{% trans 'Chronologie' %}</a>{% endblock %}
+{% block breadcrumbs %}{% trans 'Chronologie' %}{% endblock %}
 
 {% block main %}
             <h2 class="timeline-section-title">{% trans 'Recherche par période' %}</h2>
--- a/src/jocondelab/urls.py	Mon Oct 28 17:59:08 2013 +0100
+++ b/src/jocondelab/urls.py	Tue Oct 29 12:41:20 2013 +0100
@@ -40,6 +40,7 @@
     url(r'^about/$', TemplateView.as_view(template_name="jocondelab/front_about.html"), name='front_about'),
     url(r'^credits/$', TemplateView.as_view(template_name="jocondelab/front_credits.html"), name='front_credits'),
     url(r'^legal/$', TemplateView.as_view(template_name="jocondelab/front_legal.html"), name='front_legal'),
+    url(r'^students/$', TemplateView.as_view(template_name="jocondelab/front_students.html"), name='front_students'),
     url(r'^notice/(?P<pk>\d+)/$', NoticeView.as_view(), name='front_notice'),
     url(r'^describe/(?P<pk>\d+)/$', NoticeView.as_view(template_name="jocondelab/front_describe.html", show_contributions=False), name='front_describe'),
     url(r'^describe/$', 'jocondelab.views.front_office.describe_view', name='random_describe'),
--- a/src/jocondelab/views/front_office.py	Mon Oct 28 17:59:08 2013 +0100
+++ b/src/jocondelab/views/front_office.py	Tue Oct 29 12:41:20 2013 +0100
@@ -17,9 +17,12 @@
 from django.utils.translation import ugettext
 from django.utils.http import urlencode
 
+import logging
+logger = logging.getLogger(__name__)
+
 def get_terms_by_thesaurus(notice, lang):
     termsbythesaurus = {}
-    for nt in Term.objects.filter(noticeterm__notice=notice, dbpedia_fields=None).select_related('thesaurus').order_by('label').distinct():
+    for nt in Term.objects.filter(noticeterm__notice=notice, dbpedia_fields=None).select_related('thesaurus__label').order_by('label').distinct():
         term = {
             "thesaurus": nt.thesaurus.label,
             "dbpedia_uri": nt.dbpedia_uri,
@@ -28,7 +31,7 @@
         }
         th = termsbythesaurus.setdefault(term["thesaurus"], { "translated": [], "untranslated": [] })
         th["untranslated"].append(term)
-    for nt in Term.objects.filter(noticeterm__notice=notice, dbpedia_fields__language_code=lang).select_related('thesaurus,dbpedia_fields').order_by('dbpedia_fields__label').distinct():
+    for nt in Term.objects.filter(noticeterm__notice=notice, dbpedia_fields__language_code=lang).select_related('thesaurus__label,dbpedia_fields').order_by('dbpedia_fields__label').distinct():
         term = {
             "thesaurus": nt.thesaurus.label,
             "dbpedia_uri": nt.dbpedia_uri,
@@ -77,7 +80,10 @@
         
         if emptysearch:
             context["count"] = qs.count()
-            ns = qs.order_by('?')[:npp]
+            # Optimize random : order_by('?') is too slow
+            #ns = qs.order_by('?')[:npp]
+            rdm = random.randint(0, context["count"] - npp - 1)
+            ns = qs[rdm:rdm+npp]
         else:
             uri_cache = {}
             if dbpedia_uris: