Project

General

Profile

Development #15857

utiliser sorl-thumbnail pour la création des vignettes

Added by Frédéric Péters over 2 years ago. Updated over 1 year ago.

Status:
Fermé
Priority:
Bas
Target version:
Start date:
13 Apr 2017
Due date:
% Done:

100%

Patch proposed:
Yes
Planning:
No

Description

Pour le moment il y a appel direct à graphicsmagick pour la création des vignettes des documents, on pourrait plutôt utiliser sorl-thumbnail (qui est dispo dans debian); notamment ça offrirait une souplesse plus grande aux templates, qui pourraient faire :

{% thumbnail item.image "100x100" crop="center" as im %}
<img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% endthumbnail %}

plutôt que devoir se satisfaire du 200 pixels de largeur hardcodé actuellement.

https://pypi.python.org/pypi/sorl-thumbnail/

0001-use-sorl-thumbnail-fixes-15857.patch View (6.68 KB) Benjamin Dauvergne, 03 Apr 2018 10:47 AM

0001-use-sorl-thumbnail-fixes-15857.patch View (9.01 KB) Benjamin Dauvergne, 03 Apr 2018 03:06 PM

0001-use-sorl-thumbnail-fixes-15857.patch View (9.71 KB) Benjamin Dauvergne, 04 Apr 2018 03:54 PM

Associated revisions

Revision 48b59800 (diff)
Added by Benjamin Dauvergne over 1 year ago

use sorl-thumbnail (fixes #15857)

It replaces GraphicsMagick, we do not use the templatetag as the files
are private.

Revision 14c0cbe1 (diff)
Added by Benjamin Dauvergne over 1 year ago

debian: add dependency on graphicsmagick-imagemagick-compat (#15857)

History

#1 Updated by Benjamin Dauvergne over 1 year ago

  • Target version set to future

#2 Updated by Benjamin Dauvergne over 1 year ago

  • Target version changed from future to 0.25

#3 Updated by Benjamin Dauvergne over 1 year ago

J'ai implémenté sorl-thumbnail.

D'abord avec le backend GraphicsMagick mais il ne détecte pas tout seul qu'un fichier n'est pas vignettable, donc je passe à PIL mais là il n'est pas capable de vignetter du PDF, finalement j'essaie le backend pgmagick mais il faut télécharger des kilos de libboost* pour que ça compile, finalement je suis revenu au backend GraphicsMagick de sorl-thumbnail en ajoutant un check explicite sur le type MIME pour que ce soit image/* ou application/pdf; je suis pas revenu bien loin de mon point de départ, enfin...

#4 Updated by Benjamin Dauvergne over 1 year ago

#5 Updated by Frédéric Péters over 1 year ago

Mais l'ambition posée dans la description du ticket c'était d'offrir la souplesse au template, plutôt qu'avoir ça dans le Python.

#6 Updated by Benjamin Dauvergne over 1 year ago

  • Assignee set to Benjamin Dauvergne

#7 Updated by Benjamin Dauvergne over 1 year ago

Ce n'est pas vraiment possible avec le templatetag de sorl-thumbnail, c'est uniquement prévu pour des images publiques (distribution des vignettes via le répertoire media/). Le mieux que je puisse faire c'est soit un endpoint qui du pk d'un modèle publie sa vignette, soit une data-url. Si je garde mes data_url mais que je ne construis pas le tag img en python ça irait ? J'ai construit directement le tag par facilité mais je peux exporter un dico {data-url, width, height} à la place.

#8 Updated by Benjamin Dauvergne over 1 year ago

Nouvelle méthode thumbnail_image qui renvoie le dico sus-mentionné.

Au passage j'ajoute un try/except sauvage autour de get_thumbnail() qui de toute façon crashera sans crier gare, le fait que libmagic considère qu'un fichier semble être un PDF n'est pas suffisant pour garantir que convert s'en sortira (exemple, le faux fichier PDF des tests qui contient juste l'entête des PDFs).

#9 Updated by Benjamin Dauvergne over 1 year ago

Ajout d'un appel à la commande de gestion thumbnail cleanup, dans la commande fargo-cleanup.

#10 Updated by Josué Kouka over 1 year ago

  • Status changed from Nouveau to En cours

#11 Updated by Benjamin Dauvergne over 1 year ago

  • % Done changed from 0 to 100
  • Status changed from En cours to Résolu (à déployer)

#12 Updated by Frédéric Péters over 1 year ago

  • Status changed from Résolu (à déployer) to Fermé

Also available in: Atom PDF