def which(self, params): """Computes the providers for a given providee""" # Need to use taskData for this information item = params[0] self._checkParsed() preferred = data.getVar("PREFERRED_PROVIDER_%s" % item, cooker.configuration.data, 1) if not preferred: preferred = item try: lv, lf, pv, pf = Providers.findBestProvider( preferred, cooker.configuration.data, cooker.status) except KeyError: lv, lf, pv, pf = (None, ) * 4 try: providers = cooker.status.providers[item] except KeyError: print("SHELL: ERROR: Nothing provides", preferred) else: for provider in providers: if provider == pf: provider = " (***) %s" % provider else: provider = " %s" % provider print(provider)
def which(self, params): """Computes the providers for a given providee""" # Need to use taskData for this information item = params[0] self._checkParsed() preferred = data.getVar("PREFERRED_PROVIDER_%s" % item, cooker.configuration.data, 1) if not preferred: preferred = item try: lv, lf, pv, pf = Providers.findBestProvider(preferred, cooker.configuration.data, cooker.status) except KeyError: lv, lf, pv, pf = (None,) * 4 try: providers = cooker.status.providers[item] except KeyError: print("SHELL: ERROR: Nothing provides", preferred) else: for provider in providers: if provider == pf: provider = " (***) %s" % provider else: provider = " %s" % provider print(provider)
def _findProvider( self, item ): self._checkParsed() preferred = data.getVar( "PREFERRED_PROVIDER_%s" % item, cooker.configuration.data, 1 ) if not preferred: preferred = item try: lv, lf, pv, pf = Providers.findBestProvider(preferred, cooker.configuration.data, cooker.status, cooker.build_cache_fail) except KeyError: if item in cooker.status.providers: pf = cooker.status.providers[item][0] else: pf = None return pf
def _findProvider( self, item ): self._checkParsed() # Need to use taskData for this information preferred = data.getVar( "PREFERRED_PROVIDER_%s" % item, cooker.configuration.data, 1 ) if not preferred: preferred = item try: lv, lf, pv, pf = Providers.findBestProvider(preferred, cooker.configuration.data, cooker.status) except KeyError: if item in cooker.status.providers: pf = cooker.status.providers[item][0] else: pf = None return pf