mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-05 00:15:32 +00:00
chore(linux): Change order of initialization
If we want to log messages we need to start DBus after we initialized logging.
This commit is contained in:
parent
639ac25397
commit
37024fa832
7 changed files with 36 additions and 29 deletions
|
|
@ -51,6 +51,30 @@ def initialize_sentry():
|
|||
SentryErrorHandling().initialize_sentry()
|
||||
|
||||
|
||||
def verify_dbus_running():
|
||||
if (not 'DBUS_SESSION_BUS_ADDRESS' in os.environ or
|
||||
not 'DBUS_SESSION_BUS_PID' in os.environ):
|
||||
try:
|
||||
# Seems dbus isn't running for the current user. Try to start it
|
||||
# and set these environment variables
|
||||
logging.info('Starting dbus with dbus-launch')
|
||||
stdout = subprocess.run(
|
||||
('dbus-launch', '--exit-with-session'),
|
||||
stdout=subprocess.PIPE, check=False).stdout
|
||||
lines = stdout.decode('utf-8').splitlines()
|
||||
for line in lines:
|
||||
equal_sign = line.find('=')
|
||||
if equal_sign <= 0:
|
||||
logging.warning('Got unexpected line from dbus-launch: %s', line)
|
||||
continue
|
||||
name = line[:equal_sign]
|
||||
value = line[equal_sign+1:]
|
||||
logging.debug('Setting environment %s=%s', name, value)
|
||||
os.environ[name] = value
|
||||
except Exception as e:
|
||||
logging.error('Starting dbus-launch failed with %s', e)
|
||||
|
||||
|
||||
def add_standard_arguments(parser):
|
||||
if __pkgversion__:
|
||||
versionstring = f"{__versionwithtag__} (package version {__pkgversion__})"
|
||||
|
|
@ -79,26 +103,3 @@ KeymanApiUrl = 'https://api.keyman.com'
|
|||
|
||||
# There's no staging site for downloads
|
||||
KeymanDownloadsUrl = 'https://downloads.keyman.com'
|
||||
|
||||
|
||||
if (not 'DBUS_SESSION_BUS_ADDRESS' in os.environ or
|
||||
not 'DBUS_SESSION_BUS_PID' in os.environ):
|
||||
try:
|
||||
# Seems dbus isn't running for the current user. Try to start it
|
||||
# and set these environment variables
|
||||
logging.info('Starting dbus with dbus-launch')
|
||||
stdout = subprocess.run(
|
||||
('dbus-launch', '--exit-with-session'),
|
||||
stdout=subprocess.PIPE, check=False).stdout
|
||||
lines = stdout.decode('utf-8').splitlines()
|
||||
for line in lines:
|
||||
equal_sign = line.find('=')
|
||||
if equal_sign <= 0:
|
||||
logging.warning('Got unexpected line from dbus-launch: %s', line)
|
||||
continue
|
||||
name = line[:equal_sign]
|
||||
value = line[equal_sign+1:]
|
||||
logging.debug('Setting environment %s=%s', name, value)
|
||||
os.environ[name] = value
|
||||
except Exception as e:
|
||||
logging.error('Starting dbus-launch failed with %s', e)
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ gi.require_version('Gtk', '3.0')
|
|||
|
||||
from gi.repository import Gtk
|
||||
|
||||
from keyman_config import __versionwithtag__, __pkgversion__, add_standard_arguments, initialize_logging, initialize_sentry
|
||||
from keyman_config import __versionwithtag__, __pkgversion__, add_standard_arguments, 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
|
||||
|
|
@ -40,6 +40,7 @@ if __name__ == '__main__':
|
|||
|
||||
initialize_logging(args)
|
||||
initialize_sentry()
|
||||
verify_dbus_running()
|
||||
|
||||
logging.info('Keyman version %s %s', __versionwithtag__, __pkgversion__)
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import logging
|
|||
import os
|
||||
import sys
|
||||
|
||||
from keyman_config import add_standard_arguments, initialize_logging, initialize_sentry
|
||||
from keyman_config import add_standard_arguments, initialize_logging, initialize_sentry, verify_dbus_running
|
||||
from keyman_config.kvk2ldml import parse_kvk_file, print_kvk, convert_ldml, output_ldml
|
||||
|
||||
|
||||
|
|
@ -23,6 +23,7 @@ def main():
|
|||
|
||||
initialize_logging(args)
|
||||
initialize_sentry()
|
||||
verify_dbus_running()
|
||||
|
||||
name, ext = os.path.splitext(args.kvkfile)
|
||||
# Check if input file extension is kvk
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
import argparse
|
||||
import os
|
||||
|
||||
from keyman_config import add_standard_arguments, initialize_logging, initialize_sentry
|
||||
from keyman_config import add_standard_arguments, initialize_logging, initialize_sentry, verify_dbus_running
|
||||
from keyman_config.get_kmp import get_kmp, keyman_cache_dir
|
||||
|
||||
|
||||
|
|
@ -16,6 +16,7 @@ def main():
|
|||
|
||||
initialize_logging(args)
|
||||
initialize_sentry()
|
||||
verify_dbus_running()
|
||||
|
||||
get_kmp(args.id)
|
||||
if os.path.exists(os.path.join(keyman_cache_dir(), 'kmpdirlist')):
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import time
|
|||
from pkg_resources import parse_version
|
||||
from zipfile import is_zipfile
|
||||
|
||||
from keyman_config import KeymanApiUrl, add_standard_arguments, initialize_logging, initialize_sentry, secure_lookup
|
||||
from keyman_config import KeymanApiUrl, add_standard_arguments, initialize_logging, initialize_sentry, secure_lookup, verify_dbus_running
|
||||
from keyman_config.get_kmp import get_keyboard_data, get_kmp, keyman_cache_dir
|
||||
from keyman_config.install_kmp import extract_kmp, InstallError, InstallStatus, install_kmp
|
||||
from keyman_config.kmpmetadata import get_metadata
|
||||
|
|
@ -124,6 +124,7 @@ def main():
|
|||
|
||||
initialize_logging(args)
|
||||
initialize_sentry()
|
||||
verify_dbus_running()
|
||||
|
||||
if args.package and args.file:
|
||||
parser.print_usage()
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
import argparse
|
||||
import os
|
||||
|
||||
from keyman_config import add_standard_arguments, initialize_logging, initialize_sentry
|
||||
from keyman_config import add_standard_arguments, initialize_logging, initialize_sentry, verify_dbus_running
|
||||
from keyman_config.get_kmp import get_keyman_dir, InstallLocation
|
||||
from keyman_config.list_installed_kmp import get_installed_kmp
|
||||
|
||||
|
|
@ -20,6 +20,7 @@ def main():
|
|||
|
||||
initialize_logging(args)
|
||||
initialize_sentry()
|
||||
verify_dbus_running()
|
||||
|
||||
_all = not args.user and not args.shared and not args.os
|
||||
if args.user or _all:
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
import argparse
|
||||
|
||||
from keyman_config import add_standard_arguments, initialize_logging, initialize_sentry
|
||||
from keyman_config import add_standard_arguments, initialize_logging, initialize_sentry, verify_dbus_running
|
||||
from keyman_config.uninstall_kmp import uninstall_kmp
|
||||
|
||||
def main():
|
||||
|
|
@ -15,6 +15,7 @@ def main():
|
|||
|
||||
initialize_logging(args)
|
||||
initialize_sentry()
|
||||
verify_dbus_running()
|
||||
|
||||
uninstall_kmp(args.id, args.shared)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue