Development #15849
Ajouter une classe CSS sur les lignes indiquant le type de fichier
0%
Description
Losqu'un document est enregistré en profiter pour en extraire le type MIME avec magic, stocker le type MIME, l'utiliser pour ajouter une classe aux lignes (voire plusieurs, genre une classe générique type-image et une classe spécifique type-image-png, ce qui serait utile pour distinguer les fichiers PDF).
Fichiers
Révisions associées
trivial: pass filename as str() to magic (#15849)
file-magic as currently available on lacks Python 2 support (it was
broken between 2015-10-29 and 2016-02-02 and unfortunately the tarball
on pypi has been uploaded that exact day.)
Historique
Mis à jour par Frédéric Péters il y a environ 7 ans
- Fichier 0001-general-store-document-mime-type-and-use-it-as-css-c.patch 0001-general-store-document-mime-type-and-use-it-as-css-c.patch ajouté
- Statut changé de Nouveau à En cours
- Patch proposed changé de Non à Oui
J'ai hésité à mettre un fallback sur mimetypes.gess_extension() mais au fond je trouve plus sûr d'assurer que le mime type présent sera toujours vraiment correct. Aussi, dans le tas des python-magic, c'est celui packagé de base dans Debian, celui utilisé par w.c.s., qui est pris.
Mis à jour par Thomas Noël il y a environ 7 ans
s/ptyhon/python/ dans debian/control.
Et je suis pas fan du null=True
Et dans doute remplacer aussi les "." lors de :
return '%s %s' % ( self.document.mime_type.split('/')[0], slugify(self.document.mime_type.replace('/', '-')))
sinon slugify les retire et c'est un peu dommage je pense.
Et peut-être un peu lourd, mais ajouter un prefixe "mime-" voire "mimetype-" devant ces classes ?
Mis à jour par Frédéric Péters il y a environ 7 ans
Et je suis pas fan du null=True
blank=True à la place, pas de problème pour moi.
Et dans doute remplacer aussi les "." lors de :
ok, donc au final slugify ça sert à rien ici, je vais le faire avec re.sub.
Et peut-être un peu lourd, mais ajouter un prefixe "mime-" voire "mimetype-" devant ces classes ?
Ok.
Mis à jour par Frédéric Péters il y a environ 7 ans
- Fichier 0001-general-store-document-mime-type-and-use-it-as-css-c.patch 0001-general-store-document-mime-type-and-use-it-as-css-c.patch ajouté
Voilà avec une vérification en plus que les noms de classe CSS se retrouvent bien dans l'html.
Mis à jour par Thomas Noël il y a environ 7 ans
J'aurai bien laissé le test avec «form['content'] = Upload('monfichier.pdf', 'coin', 'application/pdf')» pour voir si ça déconne pas...?
Mis à jour par Frédéric Péters il y a environ 7 ans
- Fichier 0001-general-store-document-mime-type-and-use-it-as-css-c.patch 0001-general-store-document-mime-type-and-use-it-as-css-c.patch ajouté
Voilà, et ça ne déconne pas et "coin" est reconnu comme du text/plain.
Mis à jour par Thomas Noël il y a environ 7 ans
Ack, même si c'est méchant d'avoir retiré le «assert '4 bytes' in response2.content» qui était tout innocent.
Mis à jour par Frédéric Péters il y a environ 7 ans
- Statut changé de En cours à Résolu (à déployer)
commit 03baa36769598998ee14083d08695a6c28c9db01 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Wed Apr 12 11:47:08 2017 +0200 general: store document mime type and use it as css class (#15849)
Mis à jour par Frédéric Péters il y a environ 7 ans
commit a131ea66357014ba48f8a9e42620738bca10d9af Author: Frédéric Péters <fpeters@entrouvert.com> Date: Wed Apr 12 18:42:23 2017 +0200 trivial: pass filename as str() to magic (#15849) file-magic as currently available on lacks Python 2 support (it was broken between 2015-10-29 and 2016-02-02 and unfortunately the tarball on pypi has been uploaded that exact day.)
(évidemment c'est sauvage et ça éclaterait sur un chemin qui contiendrait des accents mais sérieusement ça ne doit pas arriver).
Mis à jour par Benjamin Dauvergne il y a environ 6 ans
- Statut changé de Résolu (à déployer) à Fermé
general: store document mime type and use it as css class (#15849)