mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-05 00:15:32 +00:00
fix(linux): display error and abort if fonttools are missing
This commit is contained in:
parent
50228a8266
commit
5b570517b1
3 changed files with 32 additions and 2 deletions
|
|
@ -1,5 +1,6 @@
|
|||
import atexit
|
||||
import gettext
|
||||
import importlib
|
||||
import logging
|
||||
import os
|
||||
import pathlib
|
||||
|
|
@ -53,6 +54,14 @@ def initialize_sentry():
|
|||
SentryErrorHandling().initialize_sentry()
|
||||
|
||||
|
||||
def are_requirements_missing():
|
||||
try:
|
||||
ttLib = importlib.import_module('fontTools.ttLib')
|
||||
except ImportError:
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
class FileCleanup():
|
||||
"""
|
||||
Allow to register files that will be deleted when the process exits
|
||||
|
|
|
|||
|
|
@ -9,7 +9,10 @@ gi.require_version('Gtk', '3.0')
|
|||
|
||||
from gi.repository import Gtk
|
||||
|
||||
from keyman_config import __versionwithtag__, __pkgversion__, add_standard_arguments, initialize_logging, initialize_sentry, verify_dbus_running
|
||||
from keyman_config import (
|
||||
_, __versionwithtag__, __pkgversion__, add_standard_arguments,
|
||||
are_requirements_missing, initialize_logging, initialize_sentry,
|
||||
verify_dbus_running)
|
||||
from keyman_config.handle_install import download_and_install_package
|
||||
from keyman_config.ibus_util import verify_ibus_daemon
|
||||
from keyman_config.view_installed import ViewInstalledWindow
|
||||
|
|
@ -42,6 +45,18 @@ if __name__ == '__main__':
|
|||
initialize_sentry()
|
||||
verify_dbus_running()
|
||||
|
||||
if are_requirements_missing():
|
||||
if args.install or args.url:
|
||||
logging.error('Missing requirements. Please install python3-fonttools.')
|
||||
else:
|
||||
dialog = Gtk.MessageDialog(
|
||||
None, 0, Gtk.MessageType.ERROR,
|
||||
Gtk.ButtonsType.OK, _("Missing requirements. Please install python3-fonttools."))
|
||||
dialog.run()
|
||||
dialog.destroy()
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
logging.info('Keyman version %s %s', __versionwithtag__, __pkgversion__)
|
||||
|
||||
verify_ibus_daemon(False)
|
||||
|
|
|
|||
|
|
@ -5,7 +5,9 @@ import logging
|
|||
import os
|
||||
import sys
|
||||
|
||||
from keyman_config import add_standard_arguments, initialize_logging, initialize_sentry, verify_dbus_running
|
||||
from keyman_config import (
|
||||
are_requirements_missing, add_standard_arguments, initialize_logging,
|
||||
initialize_sentry, verify_dbus_running)
|
||||
from keyman_config.kvk2ldml import parse_kvk_file, print_kvk, convert_ldml, output_ldml
|
||||
|
||||
|
||||
|
|
@ -25,6 +27,10 @@ def main():
|
|||
initialize_sentry()
|
||||
verify_dbus_running()
|
||||
|
||||
if are_requirements_missing():
|
||||
logging.error('km-kvk2ldml: Missing requirements. Please install python3-fonttools.')
|
||||
sys.exit(1)
|
||||
|
||||
name, ext = os.path.splitext(args.kvkfile)
|
||||
# Check if input file extension is kvk
|
||||
if ext != ".kvk":
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue