def __init__(self, config, requirements): """@param config: The configuration settings to use @type config: L{config.Config} @param requirements: Details about the program we want to run @type requirements: L{requirements.Requirements} @since: 0.53""" self.watchers = [] assert config self.config = config assert requirements self.requirements = requirements self.target_arch = arch.get_architecture(requirements.os, requirements.cpu) from zeroinstall.injector.solver import DefaultSolver self.solver = DefaultSolver(self.config) logger.debug(_("Supported systems: '%s'"), arch.os_ranks) logger.debug(_("Supported processors: '%s'"), arch.machine_ranks) self.solver.extra_restrictions = requirements.get_extra_restrictions( self.config.iface_cache)
def __init__(self, config, requirements): """ @param config: The configuration settings to use @type config: L{config.Config} @param requirements: Details about the program we want to run @type requirements: L{requirements.Requirements} @since: 0.53 """ self.watchers = [] assert config self.config = config assert requirements self.requirements = requirements self.target_arch = arch.get_architecture(requirements.os, requirements.cpu) from zeroinstall.injector.solver import DefaultSolver self.solver = DefaultSolver(self.config) debug(_("Supported systems: '%s'"), arch.os_ranks) debug(_("Supported processors: '%s'"), arch.machine_ranks) if requirements.before or requirements.not_before: self.solver.extra_restrictions[config.iface_cache.get_interface(requirements.interface_uri)] = [ model.VersionRangeRestriction(model.parse_version(requirements.before), model.parse_version(requirements.not_before))]
def __init__(self, root, handler = None, src = False): """ @param root: The URI of the root interface (the program we want to run). @param handler: A handler for main-loop integration. @type handler: L{zeroinstall.injector.handler.Handler} @param src: Whether we are looking for source code. @type src: bool """ self.watchers = [] self.freshness = 60 * 60 * 24 * 30 self.src = src # Root impl must be a "src" machine type self.stale_feeds = set() from zeroinstall.injector.solver import DefaultSolver self.solver = DefaultSolver(network_full, iface_cache, iface_cache.stores) # If we need to download something but can't because we are offline, # warn the user. But only the first time. self._warned_offline = False self._fetcher = None # (allow self for backwards compat) self.handler = handler or self debug(_("Supported systems: '%s'"), arch.os_ranks) debug(_("Supported processors: '%s'"), arch.machine_ranks) path = basedir.load_first_config(config_site, config_prog, 'global') if path: try: config = ConfigParser.ConfigParser() config.read(path) self.solver.help_with_testing = config.getboolean('global', 'help_with_testing') self.solver.network_use = config.get('global', 'network_use') self.freshness = int(config.get('global', 'freshness')) assert self.solver.network_use in network_levels, self.solver.network_use except Exception, ex: warn(_("Error loading config: %s"), str(ex) or repr(ex))