From b66b9c80ab099a4b98d965840110ed0aad5aa650 Mon Sep 17 00:00:00 2001 From: Thomas Leonard Date: Thu, 24 Jun 2010 18:35:05 +0100 Subject: [PATCH] Propagate errors correctly from Selections.download_missing() --- zeroinstall/injector/selections.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/zeroinstall/injector/selections.py b/zeroinstall/injector/selections.py index b9a48e4..acd8a64 100644 --- a/zeroinstall/injector/selections.py +++ b/zeroinstall/injector/selections.py @@ -253,11 +253,16 @@ class Selections(object): feed_url = sel.attrs.get('from-feed', None) or sel.attrs['interface'] feed = iface_cache.get_feed(feed_url) if feed is None or sel.id not in feed.implementations: - yield fetcher.download_and_import_feed(feed_url, iface_cache) + fetch_feed = fetcher.download_and_import_feed(feed_url, iface_cache) + yield fetch_feed + tasks.check(fetch_feed) + feed = iface_cache.get_feed(feed_url) assert feed, "Failed to get feed for %s" % feed_url impl = feed.implementations[sel.id] needed_impls.append(impl) - yield fetcher.download_impls(needed_impls, iface_cache.stores) + fetch_impls = fetcher.download_impls(needed_impls, iface_cache.stores) + yield fetch_impls + tasks.check(fetch_impls) return download() -- 2.11.4.GIT