laneya

multiplayer roguelike game
git clone https://git.ce9e.org/laneya.git

commit
2f842c9da56fbad642909d73e680972c03a536c2
parent
b29dbd5c5138b5c6f8192694d7f6cf16ba09d92c
Author
Tobias Bengfort <tobias.bengfort@gmx.net>
Date
2014-10-04 16:22
allow to convert twisted deferreds to promises

Diffstat

M laneya/client.py 6 +++---
M laneya/deferred.py 8 ++++++++

2 files changed, 11 insertions, 3 deletions


diff --git a/laneya/client.py b/laneya/client.py

@@ -6,6 +6,7 @@ from twisted.internet.endpoints import TCP4ClientEndpoint
    6     6 from twisted.internet import reactor
    7     7 
    8     8 import protocol
   -1     9 import deferred as q
    9    10 
   10    11 
   11    12 def _print(s):
@@ -37,9 +38,8 @@ def connected(protocol):  # TODO
   37    38 def main():
   38    39     log.startLogging(sys.stdout)
   39    40     endpoint = TCP4ClientEndpoint(reactor, 'localhost', 5001)
   40    -1     endpoint.connect(Factory.forProtocol(ClientProtocol))\
   41    -1         .addCallback(connected)\
   42    -1         .addErrback(log.err)
   -1    41     d = endpoint.connect(Factory.forProtocol(ClientProtocol))
   -1    42     q.fromTwisted(d).then(connected, log.err)
   43    43     reactor.run()
   44    44 
   45    45 

diff --git a/laneya/deferred.py b/laneya/deferred.py

@@ -151,3 +151,11 @@ def all(*promises):
  151   151         promise.then(success_factory(i), d.reject)
  152   152 
  153   153     return d.promise
   -1   154 
   -1   155 
   -1   156 def fromTwisted(twistedDeferred):
   -1   157     """Convert a twisted deferred to a promise."""
   -1   158 
   -1   159     d = Deferred()
   -1   160     twistedDeferred.addCallbacks(d.resolve, d.reject)
   -1   161     return d.promise