[kupfer] Post Rescanned sources as command results
- From: Ulrik Sverdrup <usverdrup src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [kupfer] Post Rescanned sources as command results
- Date: Tue, 6 Apr 2010 18:58:41 +0000 (UTC)
commit 393ea89a4c812bbb483bbb7a9268205c12a71026
Author: Ulrik Sverdrup <ulrik sverdrup gmail com>
Date: Tue Apr 6 20:58:05 2010 +0200
Post Rescanned sources as command results
kupfer/plugin/core/__init__.py | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
---
diff --git a/kupfer/plugin/core/__init__.py b/kupfer/plugin/core/__init__.py
index 8db508f..e953b06 100644
--- a/kupfer/plugin/core/__init__.py
+++ b/kupfer/plugin/core/__init__.py
@@ -18,6 +18,7 @@ from kupfer.objects import Leaf, Action, Source
from kupfer.obj.sources import MultiSource
from kupfer import objects
from kupfer.obj.base import InvalidLeafError
+from kupfer import commandexec
from kupfer import interface
from kupfer import pretty
from kupfer import task
@@ -102,13 +103,19 @@ class CopyToClipboard (Action):
class RescanActionTask(task.ThreadTask):
- def __init__(self, source):
+ def __init__(self, source, async_token, retval):
task.ThreadTask.__init__(self)
self.source = source
+ self.async_token = async_token
+ self.retval = retval
def thread_do(self):
self.source.get_leaves(force_update=True)
+ def thread_finish(self):
+ ctx = commandexec.DefaultActionExecutionContext()
+ ctx.register_late_result(self.async_token, self.retval)
+
class Rescan (Action):
"""A source action: Rescan a source! """
@@ -120,7 +127,8 @@ class Rescan (Action):
if not leaf.has_content():
raise InvalidLeafError("Must have content")
source = leaf.content_source()
- return RescanActionTask(source)
+ ctx = commandexec.DefaultActionExecutionContext()
+ return RescanActionTask(source, ctx.get_async_token(), leaf)
def is_async(self):
return True
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]