Normalement, Fabric s'arrête dès qu'un appel à run() renvoie un code de sortie non nul. Pour certains appels, cependant, cela est attendu. Par exemple, PNGOut renvoie un code d'erreur de 2 lorsqu'il ne parvient pas à compresser un fichier.
Actuellement, je ne peux contourner cette limitation qu'en utilisant la logique du shell ( do_something_that_fails || true
o do_something_that_fails || do_something_else
), mais je préférerais pouvoir garder ma logique en Python pur (comme le promet Fabric).
Existe-t-il un moyen de vérifier un code d'erreur et d'y réagir plutôt que de laisser Fabric paniquer et mourir ? Je veux toujours les comportements par défaut pour les autres appels, donc changer son comportement en modifiant l'environnement ne semble pas être une bonne option (et si je me souviens bien, vous ne pouvez l'utiliser que pour lui dire d'avertir au lieu de mourir de toute façon).