From 637712e85c88bd6d69cd7e3f0ca37e9dfa07aedc Mon Sep 17 00:00:00 2001 From: glasseyes Date: Wed, 12 Sep 2018 13:15:30 +0700 Subject: [PATCH] [linux] abort un/installing to ibus if dconf doesn't find key but continue to un/install the kmp ibus on stock bionic needs more investigation --- linux/keyman-config/keyman_config/install_kmp.py | 4 ++-- linux/keyman-config/keyman_config/uninstall_kmp.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/linux/keyman-config/keyman_config/install_kmp.py b/linux/keyman-config/keyman_config/install_kmp.py index 01a5949cc5..e1a5bceffa 100755 --- a/linux/keyman-config/keyman_config/install_kmp.py +++ b/linux/keyman-config/keyman_config/install_kmp.py @@ -194,7 +194,6 @@ def install_kmp(inputfile, online=False): checkandsaveico(fpath) copy2(fpath+".bmp", kbdir) if install_to_ibus: - print("Installing", kbid, "into IBus") if sys.version_info.major == 3 and sys.version_info.minor < 6: dconfreadresult = subprocess.run(["dconf", "read", "/desktop/ibus/general/preload-engines"], stdout=subprocess.PIPE, stderr= subprocess.STDOUT) @@ -203,9 +202,10 @@ def install_kmp(inputfile, online=False): dconfreadresult = subprocess.run(["dconf", "read", "/desktop/ibus/general/preload-engines"], stdout=subprocess.PIPE, stderr= subprocess.STDOUT, encoding="UTF8") dconfread = dconfreadresult.stdout - if (dconfreadresult.returncode == 0): + if (dconfreadresult.returncode == 0) and dconfread: preload_engines = literal_eval(dconfread) preload_engines.append(kmn_file) + print("Installing", kbid, "into IBus") if sys.version_info.major == 3 and sys.version_info.minor < 6: dconfwriteresult = subprocess.run(["dconf", "write", "/desktop/ibus/general/preload-engines", str(preload_engines)], stdout=subprocess.PIPE, stderr= subprocess.STDOUT) diff --git a/linux/keyman-config/keyman_config/uninstall_kmp.py b/linux/keyman-config/keyman_config/uninstall_kmp.py index 9bf45f6732..78bf7e3c5e 100755 --- a/linux/keyman-config/keyman_config/uninstall_kmp.py +++ b/linux/keyman-config/keyman_config/uninstall_kmp.py @@ -9,7 +9,6 @@ from shutil import rmtree def uninstall_from_ibus(keyboardid): kbdir = os.path.join('/usr/local/share/keyman', keyboardid) kmnfile = os.path.join(kbdir, keyboardid+".kmn") - print("Uninstalling", kmnfile, "from IBus") if sys.version_info.major == 3 and sys.version_info.minor < 6: result = subprocess.run(["dconf", "read", "/desktop/ibus/general/preload-engines"], stdout=subprocess.PIPE, stderr= subprocess.STDOUT) @@ -19,12 +18,13 @@ def uninstall_from_ibus(keyboardid): result = subprocess.run(["dconf", "read", "/desktop/ibus/general/preload-engines"], stdout=subprocess.PIPE, stderr= subprocess.STDOUT, encoding="UTF8") dconfread = result.stdout - if (result.returncode == 0): + if (result.returncode == 0) and dconfread: preload_engines = ast.literal_eval(dconfread) if kmnfile not in preload_engines: print(kmnfile, "is not installed in IBus") return preload_engines.remove(kmnfile) + print("Uninstalling", kmnfile, "from IBus") if sys.version_info.major == 3 and sys.version_info.minor < 6: result2 = subprocess.run(["dconf", "write", "/desktop/ibus/general/preload-engines", str(preload_engines)], stdout=subprocess.PIPE, stderr= subprocess.STDOUT)