def _showAsList(package, reverse, missingOnly): """ Direcyly print list of [reverse] dependencies onto console. """ Any.requireIsInstance(package, BSTPackage.BSTPackage) Any.requireIsBool(reverse) data = package.revDepSet if reverse else package.depSet Any.requireIsSet(data) packageURLs = list(data) packageURLs.sort() for packageURL in packageURLs: Any.requireIsTextNonEmpty(packageURL) if missingOnly: try: if not ProjectProperties.isInstalled(packageURL): print(packageURL) except EnvironmentError: # unknown, treat as "not installed" print(packageURL) else: print(packageURL)
def _getInstallStatus(self, package, sitPath): try: installed = ProjectProperties.isInstalled(package, sitPath) except ValueError: installed = False if installed: if package.startswith('sit://'): msg = '%s: exists' % \ os.path.join( sitPath, SIT.strip( package) ) else: msg = '%s: installed on this machine' % \ package.replace( 'deb://', '' ) else: if package.startswith('sit://'): msg = '%s: no such file or directory' % \ os.path.join( sitPath, SIT.strip( package ) ) else: msg = '%s: not installed on this machine' % \ package.replace( 'deb://', '' ) return installed, msg
installStatus = {} installStatusLocal = {} installStatusProxy = {} installStatusGlobal = {} logging.debug('retrieving install status of [reverse-]dependencies...') for packageURL in fullSet: protocol, remainder = ProjectProperties.splitURL(packageURL) # _installStatus is the generic form, holding the installStatus # for Debian packages (= locally) and SIT packages (= in proxy) # since those are the effective locations for compiling sources if protocol == 'deb': status = ProjectProperties.isInstalled(packageURL) installStatus[packageURL] = status installStatusLocal[packageURL] = status logging.debug('installed locally : %s = %s', packageURL, status) else: status = ProjectProperties.isInstalled(packageURL, sitProxyPath) installStatus[packageURL] = status installStatusProxy[packageURL] = status logging.debug('installed in proxy: %s = %s', packageURL, status) status = ProjectProperties.isInstalled(packageURL, sitRootPath) installStatusGlobal[packageURL] = status logging.debug('installed globally: %s = %s', packageURL, status) # also retrieve info about current package