Jouons avec twisted

En travaillant sur topka, j'ai eu l'occasion d'utiliser twisted. Les tutoriaux de twisted sont bien fait, on a pleins d'exemples concrets, malgrés tout après avoir acquis un peu d'expérience avec le framework, j'ai eu envie d'écrire un petit article sur le sujet.
Note: cet article ne contient rien qui ne soit déjà dans la documentation de twisted
Utilisation des deferred
Quand on utilise twisted, il peut arriver qu'on se retrouve avec un résultat qui puisse être une valeur
ou bien un Deferred. C'est le cas s'il est possible que le résultat soit disponible directement, ou bien qu'on
doivent attendre. On peut avoir ce genre de code:
import twisted.internet.defer as defer def myFunc(): def treatRet(): ... ret = functionThatProcess(...) if isinstance(ret, defer.Deferred): ret.addCallback(treatRet) else: ret = treatRet(ret) return ret



