equal
deleted
inserted
replaced
1 from functools import partial |
1 from functools import partial |
2 from twisted.internet import defer |
2 |
3 from twisted.internet.defer import inlineCallbacks, returnValue |
3 from twisted.internet.defer import inlineCallbacks, returnValue |
4 |
4 |
5 from ..error import NoRoute, RejectRecipient |
5 from ..error import NoRoute, RejectRecipient |
6 |
6 |
7 from ..model.offer import offers |
7 from ..model.offer import offers |
25 |
25 |
26 @inlineCallbacks |
26 @inlineCallbacks |
27 def _run(self): |
27 def _run(self): |
28 for offer in self.job.offers: |
28 for offer in self.job.offers: |
29 try: |
29 try: |
30 ret = yield (offers[offer].send(self.recipient,self.job.message)) |
30 ret = yield offers[offer].send(self.recipient,self.job.message) |
31 returnValue(ret) |
31 returnValue(ret) |
32 except RejectRecipient: |
32 except RejectRecipient: |
33 continue |
33 continue |
34 else: |
34 else: |
35 raise NoRoute() |
35 raise NoRoute() |
36 |
36 |
37 |
37 |
|
38 @inlineCallbacks |
38 def createJob(user,recipients, msg, offers, info=None): |
39 def createJob(user,recipients, msg, offers, info=None): |
39 d = defer.maybeDeferred(exJobs.create,user, recipients, msg, offers, info) |
40 job = yield exJobs.create(user, recipients, msg, offers, info) |
40 def _(job): |
41 for r in recipients: |
41 for r in recipients: |
42 task = Task(r,job) |
42 task = Task(r,job) |
43 job.addTask(task) |
43 job.addTask(task) |
44 task.start() |
44 task.start() |
45 returnValue(job) |
45 return job |
|
46 d.addCallback(_) |
|
47 return d |
|