Ensure we use on_progress everywhere
Also simplify calling semantics
This commit is contained in:
parent
ef60d71726
commit
1cda3252d9
@ -698,23 +698,13 @@ class ApplicationSession(BaseSession):
|
||||
if msg.progress:
|
||||
|
||||
# progressive result
|
||||
#
|
||||
call_request = self._call_reqs[msg.request]
|
||||
|
||||
on_progress = call_request.options.onProgress
|
||||
|
||||
if on_progress:
|
||||
if call_request.options.on_progress:
|
||||
kw = msg.kwargs or dict()
|
||||
args = msg.args or tuple()
|
||||
try:
|
||||
if msg.kwargs:
|
||||
if msg.args:
|
||||
on_progress(*msg.args, **msg.kwargs)
|
||||
else:
|
||||
on_progress(**msg.kwargs)
|
||||
else:
|
||||
if msg.args:
|
||||
on_progress(*msg.args)
|
||||
else:
|
||||
on_progress()
|
||||
# XXX what if on_progress returns a Deferred/Future?
|
||||
call_request.options.on_progress(*args, **kw)
|
||||
except Exception as e:
|
||||
try:
|
||||
self.onUserError(e, "While firing on_progress")
|
||||
|
@ -330,7 +330,7 @@ Call a remote procedure which produces interim, progressive results:
|
||||
print("{} items deleted so far ..".format(n))
|
||||
|
||||
total = yield session.call("com.myapp.log.delete",
|
||||
options = CallOptions(onProgress = deletedSoFar))
|
||||
options = CallOptions(on_progress = deletedSoFar))
|
||||
print("{} items deleted in total.".format(total))
|
||||
|
||||
Distributed calls
|
||||
@ -524,7 +524,7 @@ and can be called like this
|
||||
print("{} items processed so far ..".format(i))
|
||||
|
||||
total = yield session.call("com.myapp.longop", 10,
|
||||
options = CallOptions(onProgress = processedSoFar))
|
||||
options = CallOptions(on_progress = processedSoFar))
|
||||
print("{} items deleted in total.".format(total))
|
||||
|
||||
Registration with invocation details
|
||||
|
@ -46,7 +46,7 @@ class Component(ApplicationSession):
|
||||
def on_progress(i):
|
||||
print("Progress: {}".format(i))
|
||||
|
||||
res = yield from self.call('com.myapp.longop', 3, options=CallOptions(onProgress=on_progress))
|
||||
res = yield from self.call('com.myapp.longop', 3, options=CallOptions(on_progress=on_progress))
|
||||
|
||||
print("Final: {}".format(res))
|
||||
|
||||
|
@ -44,7 +44,7 @@ class Component(ApplicationSession):
|
||||
def on_progress(i):
|
||||
print("Progress: {}".format(i))
|
||||
|
||||
res = yield self.call('com.myapp.longop', 3, options=CallOptions(onProgress=on_progress))
|
||||
res = yield self.call('com.myapp.longop', 3, options=CallOptions(on_progress=on_progress))
|
||||
|
||||
print("Final: {}".format(res))
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user