Projet

Général

Profil

Development #15857

utiliser sorl-thumbnail pour la création des vignettes

Ajouté par Frédéric Péters il y a environ 7 ans. Mis à jour il y a presque 6 ans.

Statut:
Fermé
Priorité:
Bas
Assigné à:
Version cible:
Début:
13 avril 2017
Echéance:
% réalisé:

100%

Temps estimé:
Patch proposed:
Oui
Planning:

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/


Fichiers

Révisions associées

Révision 48b59800 (diff)
Ajouté par Benjamin Dauvergne il y a environ 6 ans

use sorl-thumbnail (fixes #15857)

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

Révision 14c0cbe1 (diff)
Ajouté par Benjamin Dauvergne il y a environ 6 ans

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

Historique

#1

Mis à jour par Benjamin Dauvergne il y a environ 6 ans

  • Version cible mis à future
#2

Mis à jour par Benjamin Dauvergne il y a environ 6 ans

  • Version cible changé de future à 0.25
#3

Mis à jour par Benjamin Dauvergne il y a environ 6 ans

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

Mis à jour par Benjamin Dauvergne il y a environ 6 ans

#5

Mis à jour par Frédéric Péters il y a environ 6 ans

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

Mis à jour par Benjamin Dauvergne il y a environ 6 ans

  • Assigné à mis à Benjamin Dauvergne
#7

Mis à jour par Benjamin Dauvergne il y a environ 6 ans

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

Mis à jour par Benjamin Dauvergne il y a environ 6 ans

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

Mis à jour par Benjamin Dauvergne il y a environ 6 ans

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

#10

Mis à jour par Josué Kouka il y a environ 6 ans

  • Statut changé de Nouveau à En cours
#11

Mis à jour par Benjamin Dauvergne il y a environ 6 ans

  • Statut changé de En cours à Résolu (à déployer)
  • % réalisé changé de 0 à 100
#12

Mis à jour par Frédéric Péters il y a presque 6 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF