Projet

Général

Profil

Evolution #5604

Ajouter un décorateur « gruik »

Ajouté par Daniel Dehennin il y a presque 11 ans. Mis à jour il y a presque 11 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Début:
17/06/2013
Echéance:
21/06/2013
% réalisé:

100%

Temps passé:
Distribution:
EOLE 2.4

Description

Il arrive parfois, voir même souvent, que pour des raisons de rapidité il nous faut commettre du code pas très propre.

Lorsque l’on écrit ce genre de code, ou que l’on en trouve un, nous devrions décorer le code afin de nous « forcer » à le réécrire.

Je propose donc d’écrire un décorateur pyeole.decorator.gruik qui prend en argument une date limite de réécriture.

Le décorateur lui même peut avoir une date globale si l’utilisateur du décorateur n’en défini pas une.

gruik enverra des log.warn et si la date est dépassée, lèvera une exception GruikIsDead, GruikCodeExplosion ou GruickCodeTimeLimite (à voir pour le nom).

Révisions associées

Révision a11762a0 (diff)
Ajouté par Daniel Dehennin il y a presque 11 ans

Ajout du décorateur « gruik » pour forcer la réécriture du code

Le décorateur est initializé par défaut afin de lever une exception
« pyeole.decorator.GruikIsDead » le 1 décembre 2013.

  • pyeole/decorator.py: Import de « logging » et des fonctions pour
    calculer une date.
    (GruikIsDead): Nouvelle exception levée lorsque la dead-line du code
    « gruik » est dépassée.
    (gruik): Nouveau décorateur afin de rapporter un « warning » dans le
    logger de l’appelant.
    Si la dead-line du code « gruik » est dépassée, lève une
    exception « GruikIsDead ».

Fixes: #5604 @25m

Révision 1ff67110 (diff)
Ajouté par Daniel Dehennin il y a presque 11 ans

Le décorateur « @gruik » peut prendre un message en argument

Cet argument peut contenir les chaînes de format « {callee} » et
« {caller} » pour définir, respectivement, la méthode décorée et son
appelant.

  • pyeole/decorator.py (gruik.__init__): Ajout du paramètre message.
    Correction du nom de variable de l’appelant.
    (gruik._report_gruik_code): Correction de la docstring et du noms de
    l’appelant.
    Le format du nom de l’appelant contient le numéro de la ligne appelant
    la méthode décorée.

Ref: #5604 @5m

Révision 6bd5ca8b (diff)
Ajouté par Daniel Dehennin il y a presque 11 ans

Ajout d’un décorateur « @fixme »

Ce décorateur est une version « politiquement correcte » du décorateur
« @gruik ».

  • pyeole/decorator.py (gruik.__init__): Stockage du nom de l’exception
    dans « self ».
    (gruik._log_or_raise): Nouveau nom de « gruik._report_gruik_code ».
    Lève l’exception stockée dans « self ».
    (FixMeError): Exception levée pour le décorateur « @fixme ».
    (fixme): Nouveau décorateur héritant de « @gruik ».
    (fixme.__init__): Définition du nom de l’exception à utiliser et du
    message par défaut.

Ref: #5604 @2m

Historique

#1 Mis à jour par Daniel Dehennin il y a presque 11 ans

  • Sujet changé de Ajouter un décorateur « gruick » à Ajouter un décorateur « gruik »
  • Description mis à jour (diff)

#2 Mis à jour par Daniel Dehennin il y a presque 11 ans

  • Echéance mis à 21/06/2013
  • Assigné à changé de developpeurs_eole à Daniel Dehennin
  • Version cible mis à Eole 2.4-dev-3
  • Début mis à 17/06/2013

#3 Mis à jour par Daniel Dehennin il y a presque 11 ans

  • Statut changé de Nouveau à Résolu
  • % réalisé changé de 0 à 100

#4 Mis à jour par Joël Cuissinat il y a presque 11 ans

  • Statut changé de Résolu à Fermé

Bien mais faut que les gens l'utilisent :)

Formats disponibles : Atom PDF