solaar: clean up gtk code
This commit is contained in:
parent
7874886a61
commit
beb9dfdab8
|
@ -21,6 +21,8 @@
|
||||||
import importlib
|
import importlib
|
||||||
import logging
|
import logging
|
||||||
import os.path
|
import os.path
|
||||||
|
import signal
|
||||||
|
import sys
|
||||||
import tempfile
|
import tempfile
|
||||||
|
|
||||||
from logging import INFO as _INFO
|
from logging import INFO as _INFO
|
||||||
|
@ -44,7 +46,6 @@ def _require(module, os_package, gi=None, gi_package=None, gi_version=None):
|
||||||
gi.require_version(gi_package, gi_version)
|
gi.require_version(gi_package, gi_version)
|
||||||
return importlib.import_module(module)
|
return importlib.import_module(module)
|
||||||
except (ImportError, ValueError):
|
except (ImportError, ValueError):
|
||||||
import sys
|
|
||||||
sys.exit('%s: missing required system package %s' % (NAME, os_package))
|
sys.exit('%s: missing required system package %s' % (NAME, os_package))
|
||||||
|
|
||||||
|
|
||||||
|
@ -122,27 +123,22 @@ def _parse_arguments():
|
||||||
|
|
||||||
|
|
||||||
# On first SIGINT, dump threads to stderr; on second, exit
|
# On first SIGINT, dump threads to stderr; on second, exit
|
||||||
def _handlesigint(signal, stack):
|
def _handlesig(signl, stack):
|
||||||
import faulthandler
|
import faulthandler
|
||||||
import signal
|
|
||||||
import sys
|
|
||||||
|
|
||||||
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
||||||
|
signal.signal(signal.SIGTERM, signal.SIG_DFL)
|
||||||
|
|
||||||
if _log.isEnabledFor(_INFO):
|
if signl == int(signal.SIGINT):
|
||||||
faulthandler.dump_traceback()
|
if _log.isEnabledFor(_INFO):
|
||||||
|
faulthandler.dump_traceback()
|
||||||
sys.exit('%s: exit due to keyboard interrupt' % (NAME.lower()))
|
sys.exit('%s: exit due to keyboard interrupt' % (NAME.lower()))
|
||||||
|
else:
|
||||||
|
sys.exit('')
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
_require('pyudev', 'python3-pyudev')
|
_require('pyudev', 'python3-pyudev')
|
||||||
|
|
||||||
# handle ^C in console
|
|
||||||
import signal
|
|
||||||
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
|
||||||
signal.signal(signal.SIGINT, _handlesigint)
|
|
||||||
|
|
||||||
args = _parse_arguments()
|
args = _parse_arguments()
|
||||||
if not args:
|
if not args:
|
||||||
return
|
return
|
||||||
|
@ -153,6 +149,11 @@ def main():
|
||||||
gi = _require('gi', 'python3-gi (in Ubuntu) or python3-gobject (in Fedora)')
|
gi = _require('gi', 'python3-gi (in Ubuntu) or python3-gobject (in Fedora)')
|
||||||
_require('gi.repository.Gtk', 'gir1.2-gtk-3.0', gi, 'Gtk', '3.0')
|
_require('gi.repository.Gtk', 'gir1.2-gtk-3.0', gi, 'Gtk', '3.0')
|
||||||
|
|
||||||
|
# handle ^C in console
|
||||||
|
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
||||||
|
signal.signal(signal.SIGINT, _handlesig)
|
||||||
|
signal.signal(signal.SIGTERM, _handlesig)
|
||||||
|
|
||||||
udev_file = '42-logitech-unify-permissions.rules'
|
udev_file = '42-logitech-unify-permissions.rules'
|
||||||
if _log.isEnabledFor(_WARNING) \
|
if _log.isEnabledFor(_WARNING) \
|
||||||
and not os.path.isfile('/etc/udev/rules.d/' + udev_file) \
|
and not os.path.isfile('/etc/udev/rules.d/' + udev_file) \
|
||||||
|
@ -178,8 +179,6 @@ def main():
|
||||||
# main UI event loop
|
# main UI event loop
|
||||||
ui.run_loop(listener.start_all, listener.stop_all, args.window != 'only', args.window != 'hide')
|
ui.run_loop(listener.start_all, listener.stop_all, args.window != 'only', args.window != 'hide')
|
||||||
except Exception:
|
except Exception:
|
||||||
import sys
|
|
||||||
|
|
||||||
from traceback import format_exc
|
from traceback import format_exc
|
||||||
sys.exit('%s: error: %s' % (NAME.lower(), format_exc()))
|
sys.exit('%s: error: %s' % (NAME.lower(), format_exc()))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue