[kupfer: 22/38] commatrick: Run (Take Result) takes all content as a MultipleLeaf
- From: Ulrik Sverdrup <usverdrup src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [kupfer: 22/38] commatrick: Run (Take Result) takes all content as a MultipleLeaf
- Date: Sat, 16 Jan 2010 17:13:38 +0000 (UTC)
commit f993a7eb30fa6301785cca8e9a479383af2a8da0
Author: Ulrik Sverdrup <ulrik sverdrup gmail com>
Date: Fri Jan 15 19:54:15 2010 +0100
commatrick: Run (Take Result) takes all content as a MultipleLeaf
This makes the Run (Take Result) action take the full contents of a
returned source as a multiple leaf, so that a subequent action will be
on all of the contents at the same time. Not intended to be used on
large catalogs, of course.
kupfer/plugin/higherorder.py | 13 ++++++++-----
1 files changed, 8 insertions(+), 5 deletions(-)
---
diff --git a/kupfer/plugin/higherorder.py b/kupfer/plugin/higherorder.py
index a90f45b..22928f9 100644
--- a/kupfer/plugin/higherorder.py
+++ b/kupfer/plugin/higherorder.py
@@ -1,5 +1,5 @@
from kupfer.objects import Action, Leaf
-from kupfer.obj.compose import ComposedLeaf
+from kupfer.obj.compose import ComposedLeaf, MultipleLeaf
from kupfer import commandexec
from kupfer import pretty
@@ -33,10 +33,13 @@ def _exec_no_show_result(composedleaf):
if result_type == commandexec.RESULT_OBJECT:
return ret
if result_type == commandexec.RESULT_SOURCE:
- try:
- return iter(ret.get_leaves()).next()
- except StopIteration:
- pass
+ leaves = list(ret.get_leaves())
+ if not leaves:
+ return
+ if len(leaves) == 1:
+ return leaves[0]
+ else:
+ return MultipleLeaf(leaves)
def _save_result(cleaf):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]