X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fstream_index.py;h=dc4d654c543c614fd25c7a0b8a9ef33ebaf0a5bf;hb=4a582544e19c73afb7adebb6c7d46503d5a51c0c;hp=d638e7178d47eb855c61ea630f99cd91e8874d53;hpb=f77cda973fab5dd7c1d4f6621650c6bce1725aa7;p=watersofshiloah diff --git a/src/stream_index.py b/src/stream_index.py index d638e71..dc4d654 100644 --- a/src/stream_index.py +++ b/src/stream_index.py @@ -33,7 +33,6 @@ class Connection(object): if kwds is None: kwds = {} - self._indexing.clear_tasks() self._indexing.add_task( getattr(self._backend, func), args, @@ -152,22 +151,19 @@ class ParentNode(Node): def __init__(self, connection, parent, data, id): Node.__init__(self, connection, parent, data, id) - self._request = None def is_leaf(self): return False def _get_children(self, on_success, on_error): - assert self._request is None assert self._children is None - self._request = on_success, on_error func, args, kwds = self._get_func() self._connection.download( func, - self._on_success, - self._on_error, + lambda data: self._on_success(data, on_success, on_error), + on_error, args, kwds, ) @@ -179,9 +175,7 @@ class ParentNode(Node): raise NotImplementedError() @misc_utils.log_exception(_moduleLogger) - def _on_success(self, data): - r = self._request - self._request = None + def _on_success(self, data, on_success, on_error): try: self._children = [ self._create_child(child, i) @@ -190,15 +184,9 @@ class ParentNode(Node): except Exception, e: _moduleLogger.exception("Translating error") self._children = None - r[1](e) + on_error(e) else: - r[0](self._children) - - @misc_utils.log_exception(_moduleLogger) - def _on_error(self, error): - r = self._request - self._request = None - r[1](error) + on_success(self._children) class LeafNode(Node):