Projet

Général

Profil

Development #15849

Ajouter une classe CSS sur les lignes indiquant le type de fichier

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

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
12 avril 2017
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

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

Révision 03baa367 (diff)
Ajouté par Frédéric Péters il y a environ 7 ans

general: store document mime type and use it as css class (#15849)

Révision a131ea66 (diff)
Ajouté par Frédéric Péters il y a environ 7 ans

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

#1

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

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.

#2

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 ?

#3

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.

#4

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

Voilà avec une vérification en plus que les noms de classe CSS se retrouvent bien dans l'html.

#5

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...?

#6

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

Voilà, et ça ne déconne pas et "coin" est reconnu comme du text/plain.

#7

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.

#8

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)
#9

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).

#10

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

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

Formats disponibles : Atom PDF