Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ajoute des champs DCMI aux pages des contenus - Rends le site compatible avec Zotero #4392

Merged
merged 10 commits into from
Aug 4, 2017

Conversation

rezemika
Copy link
Contributor

@rezemika rezemika commented Jul 3, 2017

Q R
Type de modification nouvelle fonctionnalité
Ticket(s) (issue(s)) concerné(s) #4261

QA

  • Installer l'extension Firefox Zotero ou un équivalent.
  • Utiliser le bouton idoine pour enregistrer dans Zotero divers contenus du site. Vérifier le formatage des informations pour :
    • chaque type de contenu ;
    • un contenu avec un seul auteur, deux et plus de deux auteurs ;
    • un contenu avec et un contenu sans description ;
    • un contenu avec une source externe.

Voici le formatage que j'ai utilisé pour les champs DCMI, à modifier au besoin. La liste des auteurs est de type "Auteur 1, Auteur 2 et Auteur 3". Celle des tags est de type "Tag 1 ; Tag 2 ; Tag 3".

DC.publisher = "Zeste de Savoir"
DC.creator = [liste des auteurs du contenu]
DC.type = "text"
DC.title = [titre du contenu]
DC.abstract = [titre et description du contenu si disponnible]
DC.subject = [liste des catégories et des tags du contenu]
DC.date = [date de publication ou de dernière mise à jour du contenu]
DC.format = "text/html"
DC.source = [source du contenu si disponnible]
DC.language = "fr"
DC.rights = [licence du contenu]

PS : J'ai eu quelques soucis lors du merge. J'espère que ça ne posera pas de problème ici.

  • Ça fonctionne !
  • Code relu et approuvé !

Copy link
Member

@gllmc gllmc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ça semble marcher sans problème de mon côté. Il y a quelques machins que j'améliorerais bien et des erreurs PEP-8 à corriger. :)


{% block DCMI_cards %}
<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" />
<meta name="DC.publisher" lang="fr" content="{{app.site.name}}" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Plutôt {{ app.site.litteral_name }} pour un rendu plus correct ("Zeste de Savoir" au lieu de "ZesteDeSavoir").

@@ -721,7 +725,7 @@ <h2 class="subtitle" {% if schema %}itemprop="description"{% endif %}>{{ headlin
{% endif %}
{% if app.site.social.googleplus %}
<li><a href="{{app.site.social.googleplus}}" title="Retrouvez-nous sur Google+" class="btn ico-after google-plus light btn-google-plus btn-holder"></a></li>
{% endif %}
{% endif %}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je n'ai pas vraiment compris cette modification, mais j'ai une indentation incorrecte sur ta branche :

Actuellement :

                    {% if app.site.social.googleplus %}
                        <li><a href="{{app.site.social.googleplus}}" title="Retrouvez-nous sur Google+" class="btn ico-after google-plus light btn-google-plus btn-holder"></a></li>
            {% endif %}

Correct :

                    {% if app.site.social.googleplus %}
                        <li><a href="{{app.site.social.googleplus}}" title="Retrouvez-nous sur Google+" class="btn ico-after google-plus light btn-google-plus btn-holder"></a></li>
                    {% endif %}

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah oui en effet, ça doit être une fausse manip', désolé.



@register.simple_tag
def joinby(values, separator=", ", same_final_separator=False):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PEP-8 : il faudrait des guillemets simples.

by a comma.
"""
if not values:
return ""
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PEP-8 : il faudrait des guillemets simples.

if same_final_separator:
final_sep = separator
else:
final_sep = unicode(_(" et "))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PEP-8 : il faudrait des guillemets simples. Je n'ai pas vraiment compris pourquoi tu as utilisé unicode.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pour le unicode, c'est parce que j'avais une erreur étrange à la ligne d'après quand je concatenais final_sep avec l'autre string.

Voilà ce que j'obtenais : TypeError: coercing to Unicode: need string or buffer, __proxy__ found. Je n'ai pu résoudre ça qu'en rajoutant un unicode(), j'ignores pourquoi.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dans ce cas, essaye de rajouter sous l'encodage la ligne from __future__ import unicode_literals, je pense que ça devrait marcher. ;)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update : J'avais bêtement oublié de mettre à jour mon virtualenv avec les derniers paquets utilisés par ZdS. Je l'ai mis à jour et ça marche correctement sans nouvelle importation. :)

final_sep = separator
else:
final_sep = unicode(_(" et "))
return separator.join(map(str, values[:len(values)-1])) + (
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PEP-8 : il faut des espaces autour des opérateur mathématiques. ;)

if not values:
return ""
if len(values) == 1:
return values[0].__str__()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

- return values[0].__str__()
+ return str(values[0])

else:
final_sep = unicode(_(" et "))
return separator.join(map(str, values[:len(values)-1])) + (
final_sep + values.last().__str__()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

- values.last().__str__()
+ str(values.last())

<meta name="DC.type" content="text" />
<meta name="DC.title" content="{{ content.title }}" />
<meta name="DC.abstract" content="{{ content.type.title }} : {{ content.title }}{% if content.description %} - {{ content.description }}{% endif %}" />
<meta name="DC.subject" lang="fr" content="{% joinby content.subcategory.all %}{% if content.tags.all %} - {% joinby content.tags.all separator=' ; ' same_final_separator=True %}{% endif %}" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pour ces deux lignes, j'utiliserais plutôt le tiret au lieu de -. :)

@rezemika
Copy link
Contributor Author

rezemika commented Jul 6, 2017

Changements effectués, désolé pour le délai. :)

Je suis passé par Github directement, d'où le triple commit.

Copy link
Member

@gllmc gllmc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Il y a juste un oubli qui a provoqué l'échec de Travis. Sinon, tout est OK.

Un rebase est requis par contre :

  • git fetch upstream
  • git rebase upstream/dev

if same_final_separator:
final_sep = separator
else:
final_sep = _(" et ")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

L'erreur de Travis vient d'ici, il faut des guillemets simples. :)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah ? Il me semblait que c'était pythonique de mettre des guillemets doubles pour des mots. Je refais un commit.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rezemika : en fait, on met en règle générale des guillemets simples. On met des guillemets doubles quand il y a une apostrophe dans la chaîne (pour éviter d'avoir à utiliser un antislash). ;)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah ok. De mon côté j'ai toujous mis des guillemets doubles pour les mots ou les phrases (genre "Hello world !") et des simples pour le reste (les séparateurs pour les split, ce genre de choses). My bad.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ce n'est pas vraiment un problème, ça. La règle que j'ai citée est celle qui a été choisie pour ce dépôt, mais PEP-8 est beaucoup plus permissif (d'où le fait qu'une règle ait été décidée afin de garder une certaine cohérence dans l'utilisation des guillemets).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah je vois. Merci de cette précision. :)

@coveralls
Copy link

coveralls commented Jul 9, 2017

Coverage Status

Coverage decreased (-15.6%) to 73.496% when pulling 74018ac on rezemika:zds-rezemika into c708844 on zestedesavoir:dev.

rezemika added a commit to rezemika/zds-site that referenced this pull request Jul 11, 2017
rezemika added a commit to rezemika/zds-site that referenced this pull request Jul 11, 2017
rezemika added a commit to rezemika/zds-site that referenced this pull request Jul 11, 2017
@coveralls
Copy link

Coverage Status

Coverage decreased (-15.8%) to 73.496% when pulling 840cdb5 on rezemika:zds-rezemika into 82c2e6f on zestedesavoir:dev.

@pierre-24
Copy link
Member

Ah, y'a un test à réparer, ici.

{% block DCMI_cards %}
<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" />
<meta name="DC.publisher" lang="fr" content="{{ app.site.litteral_name }}" />
<meta name="DC.creator" content="{% joinby content.authors.all %}" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

La gestion des auteurs est un peu particulière : pour que ça fonctionne, ça devrait probablement être joinby content|displayable_authors:True. Ça provient du fait que les auteurs peuvent varier en fonction des mises à jour d'un tuto.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@@ -0,0 +1,28 @@
# coding: utf-8
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Si tu ajoute un templatetag, il faut le documenter ici ;)

@coveralls
Copy link

coveralls commented Aug 4, 2017

Coverage Status

Coverage decreased (-0.02%) to 89.261% when pulling 050d9c4 on rezemika:zds-rezemika into 82c2e6f on zestedesavoir:dev.

@coveralls
Copy link

coveralls commented Aug 4, 2017

Coverage Status

Coverage decreased (-0.02%) to 89.261% when pulling f8950e5 on rezemika:zds-rezemika into fcf26ba on zestedesavoir:dev.

@pierre-24
Copy link
Member

Ben ça me semble fonctionner pas mal :)

screenshot from 2017-08-04 17 34 22

@pierre-24 pierre-24 merged commit a7ef93e into zestedesavoir:dev Aug 4, 2017
@pierre-24 pierre-24 added this to the Version de développement milestone Aug 4, 2017
@pierre-24 pierre-24 added the C-Front Concerne l'interface du site label Aug 4, 2017
sandhose pushed a commit that referenced this pull request Sep 18, 2017
…ble avec Zotero (#4392)

* Ajoute des champs DCMI aux pages des contenus (#4261)

* Corrige le commit précédent pour les champs DCMI (#4392)

* Corrige le commit précédent pour les champs DCMI (#4392)

* Corrige le commit précédent pour les champs DCMI (#4392)

* Remplace les guillemets simples par des guillemets doubles

* Ajoute la documentation du tag 'joinby'

* N'affiche que les auteurs de la version courante

* Corrige une variable dans le template
@rezemika rezemika deleted the zds-rezemika branch January 8, 2018 20:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-Front Concerne l'interface du site
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants