From d47567043f9cd5c28b1f5fe9ff5ea8c54d656b13 Mon Sep 17 00:00:00 2001 From: Thomas Leonard Date: Sun, 4 May 2008 14:05:10 +0100 Subject: [PATCH] Removed IfaceCache.pending set. It is no longer needed for anything, and causes problems with mirrors. --- tests/testifacecache.py | 4 ---- zeroinstall/injector/cli.py | 1 - zeroinstall/injector/fetch.py | 1 - zeroinstall/injector/iface_cache.py | 21 ++------------------- 4 files changed, 2 insertions(+), 25 deletions(-) diff --git a/tests/testifacecache.py b/tests/testifacecache.py index 07df32a..c50c8ae 100755 --- a/tests/testifacecache.py +++ b/tests/testifacecache.py @@ -50,7 +50,6 @@ class TestIfaceCache(BaseTest): src.seek(0) pending = PendingFeed(iface.uri, src) - iface_cache.add_pending(pending) assert iface_cache.update_interface_if_trusted(iface, pending.sigs, pending.new_xml) self.assertEquals(['http://foo'], @@ -71,7 +70,6 @@ class TestIfaceCache(BaseTest): src.write(data.foo_signed_xml) src.seek(0) pending = PendingFeed(iface.uri, src) - iface_cache.add_pending(pending) assert iface_cache.update_interface_if_trusted(iface, pending.sigs, pending.new_xml) iface_cache.__init__() @@ -93,7 +91,6 @@ class TestIfaceCache(BaseTest): src.seek(0) pending = PendingFeed(iface.uri, src) - iface_cache.add_pending(pending) assert iface_cache.update_interface_if_trusted(iface, pending.sigs, pending.new_xml) # Can't 'update' to an older copy @@ -102,7 +99,6 @@ class TestIfaceCache(BaseTest): src.seek(0) try: pending = PendingFeed(iface.uri, src) - iface_cache.add_pending(pending) assert iface_cache.update_interface_if_trusted(iface, pending.sigs, pending.new_xml) assert 0 diff --git a/zeroinstall/injector/cli.py b/zeroinstall/injector/cli.py index d00d961..082bcdc 100755 --- a/zeroinstall/injector/cli.py +++ b/zeroinstall/injector/cli.py @@ -50,7 +50,6 @@ def _import_feed(args): signed_data.seek(0) pending = PendingFeed(uri, signed_data) - iface_cache.add_pending(pending) handler = handler.Handler() diff --git a/zeroinstall/injector/fetch.py b/zeroinstall/injector/fetch.py index b439a85..fa2d24f 100644 --- a/zeroinstall/injector/fetch.py +++ b/zeroinstall/injector/fetch.py @@ -190,7 +190,6 @@ class Fetcher(object): tasks.check(dl.downloaded) pending = PendingFeed(feed_url, stream) - iface_cache.add_pending(pending) if use_mirror: # If we got the feed from a mirror, get the key from there too diff --git a/zeroinstall/injector/iface_cache.py b/zeroinstall/injector/iface_cache.py index 789e18a..c842c43 100644 --- a/zeroinstall/injector/iface_cache.py +++ b/zeroinstall/injector/iface_cache.py @@ -172,30 +172,19 @@ class IfaceCache(object): cache of L{model.Interface} objects, and an on-disk cache of L{model.ZeroInstallFeed}s. It will probably be split into two in future. - @ivar pending: downloaded feeds which are not yet trusted - @type pending: str -> PendingFeed @see: L{iface_cache} - the singleton IfaceCache instance. """ - __slots__ = ['_interfaces', 'stores', 'pending'] + __slots__ = ['_interfaces', 'stores'] def __init__(self): self._interfaces = {} - self.pending = {} self.stores = zerostore.Stores() - def add_pending(self, pending): - """Add a PendingFeed to the pending dict. - @param pending: the untrusted download to add - @type pending: PendingFeed - @since: 0.25""" - assert isinstance(pending, PendingFeed) - self.pending[pending.url] = pending - def update_interface_if_trusted(self, interface, sigs, xml): """Update a cached interface (using L{update_interface_from_network}) - if we trust the signatures, and remove it from L{pending}. + if we trust the signatures. If we don't trust any of the signatures, do nothing. @param interface: the interface being updated @type interface: L{model.Interface} @@ -205,17 +194,11 @@ class IfaceCache(object): @type xml: str @return: True if the interface was updated @rtype: bool - @precondition: call L{add_pending} """ import trust updated = self._oldest_trusted(sigs, trust.domain_from_url(interface.uri)) if updated is None: return False # None are trusted - if interface.uri in self.pending: - del self.pending[interface.uri] - else: - raise Exception("update_interface_if_trusted, but '%s' not pending!" % interface.uri) - self.update_interface_from_network(interface, xml, updated) return True -- 2.11.4.GIT