mirror of
https://github.com/keymanapp/keyman.git
synced 2026-09-24 00:27:40 +00:00
[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
This commit is contained in:
parent
12ab8f963a
commit
637712e85c
2 changed files with 4 additions and 4 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue