def get_available_version(self, pkgname): """ Return a version that we can install through this package manager. """ try: ver = subproc.match_output( [self.command, "info", pkgname], r'^Version\s+:\s+(?P<ver>.*$)', 'ver', env=utils.dict_merge(os.environ, {'LC_ALL': 'C'}), ) if ver is None: return False self.log.debug("Package {0} has version {1} in {2}".format( pkgname, ver, self.command)) return ver except subprocess.CalledProcessError as ex: # This usually means the package was not found, so don't worry self.log.obnoxious( "`{0} info' returned non-zero exit status.".format( self.command)) self.log.obnoxious(str(ex)) return False except Exception as ex: self.log.error("Error parsing {0} info".format(self.command)) self.log.error(str(ex)) return False
def get_available_version(self, pkgname): """ Return a version that we can install through this package manager. """ try: ver = subproc.match_output( [self.command, "info", pkgname], r'^Version\s+:\s+(?P<ver>.*$)', 'ver', env=utils.dict_merge(os.environ, {'LC_ALL': 'C'}), ) if ver is None: return False self.log.debug("Package {0} has version {1} in {2}".format(pkgname, ver, self.command)) return ver except subproc.CalledProcessError as ex: # This usually means the package was not found, so don't worry self.log.trace("`{0} info' returned non-zero exit status.".format(self.command)) self.log.trace(str(ex)) return False except Exception as ex: self.log.error("Error parsing {0} info".format(self.command)) self.log.error(str(ex)) return False