Logo Search packages:      
Sourcecode: zeroinstall-injector version File versions

zeroinstall::injector::iface_cache::IfaceCache Class Reference

List of all members.

Detailed Description

The interface cache stores downloaded and verified interfaces in
~/.cache/0install.net/interfaces (by default).

There are methods to query the cache, add to it, check signatures, etc.

When updating the cache, the normal sequence is as follows:

 1. When the data arrives, L{add_pending} is called.
 2. Later (typically during a recalculate), L{policy.Policy.get_interface}
    notices the pending feed and starts processing it.
 3. It checks the signatures using L{PendingFeed.sigs}.
 4. If any required GPG keys are missing, L{download_key} is used to fetch
    them first.
 5. If none of the keys are trusted, L{handler.Handler.confirm_trust_keys} is called.
 6. L{update_interface_if_trusted} is called to update the cache.

Whenever something needs to be done before the feed can move from the pending
state, the process is resumed after the required activity by calling L{policy.Policy.recalculate}.

@ivar watchers: objects requiring notification of cache changes.
@ivar pending: downloaded feeds which are not yet trusted
@type pending: str -> PendingFeed
@see: L{iface_cache} - the singleton IfaceCache instance.

Definition at line 147 of file iface_cache.py.

Public Member Functions

def __init__
def add_pending
def add_to_cache
def add_watcher
def download_key
def get_cached_signatures
def get_icon_path
def get_interface
def list_all_interfaces
def update_interface_from_network
def update_interface_if_trusted

Public Attributes


Private Member Functions

def _get_signature_date
def _import_new_interface
def _oldest_trusted

Private Attributes


Static Private Attributes

list __slots__ = ['watchers', '_interfaces', 'stores', 'pending']

The documentation for this class was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index