def install_keyboards_to_gnome(keyboards, packageDir, language=None): gnomeKeyboardsUtil = GnomeKeyboardsUtil() sources = gnomeKeyboardsUtil.read_input_sources() # install all kmx for first lang not just packageID for kb in keyboards: ibus_keyboard_id = get_ibus_keyboard_id(kb, packageDir, language) sources.append(('ibus', ibus_keyboard_id)) gnomeKeyboardsUtil.write_input_sources(sources)
def test_ReadInputSources(self, convertVariantToArrayMethod): # Setup keyboards = [('xkb', 'en')] mock_settingsInstance = self.MockSettingsClass.return_value mock_settingsInstance.get_value.return_value = keyboards convertVariantToArrayMethod.side_effect = lambda value: value sut = GnomeKeyboardsUtil() # Execute result = sut.read_input_sources() # Verify self.assertEqual(result, keyboards)
def uninstall_keyboards_from_gnome(keyboards, packageDir): gnomeKeyboardsUtil = GnomeKeyboardsUtil() sources = gnomeKeyboardsUtil.read_input_sources() # uninstall all kmx for all languages for kb in keyboards: ibus_keyboard_id = get_ibus_keyboard_id(kb, packageDir) tuple = ('ibus', ibus_keyboard_id) if tuple in sources: sources.remove(tuple) toRemove = [] match_id = ":%s" % get_ibus_keyboard_id( kb, packageDir, ignore_language=True) for (type, id) in sources: if type == 'ibus' and id.endswith(match_id): toRemove.append((type, id)) for val in toRemove: sources.remove(val) gnomeKeyboardsUtil.write_input_sources(sources)