def get_plugin_for_update(cls, metadata): """Retrieves plugins which can be updated :param dict metadata: plugin metadata :returns: dict with plugin which can be updated or None """ if not cls.is_updatable(metadata['package_version']): return plugins = filter( lambda p: p['name'] == metadata['name'] and cls.is_updatable(p['package_version']) and utils.major_plugin_version(metadata['version']) == utils.major_plugin_version(p['version']), cls.get_all_data()) plugin = None if plugins: # List should contain only one plugin, but just # in case we make sure that we get plugin with # higher version plugin = sorted( plugins, key=lambda p: StrictVersion(p['version']))[0] return plugin
def get_plugin_for_update(cls, metadata): """Retrieves plugins which can be updated :param dict metadata: plugin metadata :returns: dict with plugin which can be updated or None """ if not cls.is_updatable(metadata['package_version']): return plugins = [p for p in cls.get_all_data() if (p['name'] == metadata['name'] and cls.is_updatable(p['package_version']) and utils.major_plugin_version(metadata['version']) == utils.major_plugin_version(p['version']))] plugin = None if plugins: # List should contain only one plugin, but just # in case we make sure that we get plugin with # higher version plugin = sorted( plugins, key=lambda p: StrictVersion(p['version']))[0] return plugin
def test_major_plugin_version(self): pairs = [['1.2.3', '1.2'], ['123456789.123456789.12121', '123456789.123456789'], ['1.2', '1.2']] for arg, expected in pairs: self.assertEqual(utils.major_plugin_version(arg), expected)
def test_major_plugin_version(self): pairs = [ ['1.2.3', '1.2'], ['123456789.123456789.12121', '123456789.123456789'], ['1.2', '1.2']] for arg, expected in pairs: self.assertEqual( utils.major_plugin_version(arg), expected)
def remove(cls, name, version): rpm_name = '{0}-{1}'.format(name, utils.major_plugin_version(version)) utils.exec_cmd('yum -y remove {0}'.format(rpm_name))
def test_major_plugin_version(self): pairs = [["1.2.3", "1.2"], ["123456789.123456789.12121", "123456789.123456789"], ["1.2", "1.2"]] for arg, expected in pairs: self.assertEqual(utils.major_plugin_version(arg), expected)