Projet

Général

Profil

Bug #36679

Erreur de documentation sur la page détail d'un csvdatasource ?

Ajouté par Lauréline Guérin il y a plus de 4 ans. Mis à jour il y a plus de 4 ans.

Statut:
Fermé
Priorité:
Bas
Assigné à:
Version cible:
-
Début:
04 octobre 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Dans le template templates/csvdatasource/csvdatasource_detail.html, on trouve les lignes suivantes:

  <li>{% trans "Returning lines containing 'abc' in 'text' column: "%}
    <a href="{% url "csvdatasource-data" slug=object.slug %}?q=abc">{%  url "csvdatasource-data" slug=object.slug %}?q=abc</a>
  </li>
  <li>{% trans "Same filter, but case insensitive:" %}
    <a href="{% url "csvdatasource-data" slug=object.slug %}?q=abc">{%  url "csvdatasource-data" slug=object.slug %}?case-insensitive&q=abc</a>
  </li>

En lisant le code, il m'a semblé que le param 'case-insensitive' ne s'appliquait pas à 'q', mais seulement aux filtres sur les colonnes du CSV.
Du coup, le lien 'Same filter, but case insensitive' me semble faux. Qu'en pensez-vous ?


Fichiers

Révisions associées

Révision 0dddc95a (diff)
Ajouté par Lauréline Guérin il y a plus de 4 ans

csvdatasource: remove wrong example of case insensitive search (#36679)

Historique

#1

Mis à jour par Frédéric Péters il y a plus de 4 ans

                if 'case-insensitive' in params:
                    filters.append("%s.lower() == %r" % (column_title, query_value.lower()))

On compare query_value mis en minuscules avec le contenu mis en minuscules, et ça correspond uniquement aux colonnes explicitement nommées, comme tu l'écris. La recherche sur 'q', elle est gérée plus loin,

        if 'q' in request.GET: 
            filters = ["%s in normalize(text.lower())" % repr(normalize(request.GET['q'].lower()))]

et elle est insensible à la casse, que case-insensitive ait été passé ou pas.

git log -S case-insensitive → #27984 "csvdatasource: filtre 'q' insensible à la case par défaut".

Ça confirme; et comme la documentation ne parle pas de recherche sur des colonnes spécifiquement nommées (ce qu'on veut plutôt encourager via les requêtes), je pense qu'on pourrait juste retirer la partie

  <li>{% trans "Same filter, but case insensitive:" %}
    <a href="{% url "csvdatasource-data" slug=object.slug %}?q=abc">{%  url "csvdatasource-data" slug=object.slug %}?case-insensitive&q=abc</a>
  </li>

du fichier.

Pour laisser juste,

-  <li>{% trans "Returning lines containing 'abc' in 'text' column: "%}
+  <li>{% trans "Returning lines containing 'abc' in 'text' column (case insensitive):"%}
#2

Mis à jour par Lauréline Guérin il y a plus de 4 ans

  • Assigné à mis à Lauréline Guérin
#3

Mis à jour par Lauréline Guérin il y a plus de 4 ans

#4

Mis à jour par Frédéric Péters il y a plus de 4 ans

  • Statut changé de Solution proposée à Solution validée

Yes, en douce aussi, tu pourrais changer la fin de chaine/tag, plutôt que : "%} avoir :" %}.

#5

Mis à jour par Lauréline Guérin il y a plus de 4 ans

Ho, ben oui bien sûr :)

Je peux corriger

{% trans "Returning all file lines: "%}

aussi ?

#6

Mis à jour par Frédéric Péters il y a plus de 4 ans

Sûr.

#8

Mis à jour par Frédéric Péters il y a plus de 4 ans

  • Statut changé de Solution proposée à Solution validée
#9

Mis à jour par Lauréline Guérin il y a plus de 4 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 67fac5c1640e7845cb8843c4494f5eb32986eb04
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Fri Oct 4 10:05:26 2019 +0200

    csvdatasource: remove wrong example of case insensitive search (#36679)
#10

Mis à jour par Frédéric Péters il y a plus de 4 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF