diff --git a/lib/dependencies.py b/lib/dependencies.py index 445015a362381fba4eb9bd95e9ca4c66b124b77c..5bfebaf21d821543be94ccd05a3de75b9babd416 100644 --- a/lib/dependencies.py +++ b/lib/dependencies.py @@ -1,18 +1,48 @@ # -*- coding: utf-8 -*- + import sys import os +from hardware import Hardware + def check_dependencies(): """ - + Check for needed external dependencies. """ print("Check dependencies…") - print("… checked.") + check_os() + check_user() + check_connected_hardware() + print("… checked.\n") def check_user(): """ Check for running user. SU should not be run as root. """ if os.getuid() == 0: - print("Do not run %s as root" % __file__ ) + print("Do not run SU as root") + sys.exit() + else: + print(" * user id %s" % os.getuid()) + +def check_os(): + """ + We do not support Windows + """ + if os.name != "posix": + print("Only Linux is supported at the moment!") sys.exit() + else: + print(" * posix system") + +def check_connected_hardware(): + """ + Output connected and supported rf hardware. + """ + devices = Hardware().get_connected_supported_devices() + if len(devices) == 0: + print(" * no rf hardware connected") + else: + print(" * connected rf hardware:") + for device in devices: + print(" - %s (%s)" % (device['name'], device['id'])) diff --git a/su.py b/su.py index 112dd57c8beaf99b61de3e53569c3e1ca072130c..883b4141b54f5f6b4a21b494af9ca0dc9ac8be53 100755 --- a/su.py +++ b/su.py @@ -1,18 +1,17 @@ #!/usr/bin/env python2.7 # -*- coding: utf-8 -*- -# stdlib import logging import sys import argparse import os -from lib.version import __version__ +from PyQt5 import QtCore, QtGui, QtWidgets -import lib.dependencies as dep import lib.gui.gui as gui -from PyQt5 import QtCore, QtGui, QtWidgets +from lib.version import __version__ +from lib.dependencies import check_dependencies class Su(object): """ @@ -41,12 +40,10 @@ def parse_arguments(): return parser.parse_args() - def main(): args = parse_arguments() - dep.check_user() - dep.check_dependencies() + check_dependencies() if args.verbose: logging.basicConfig(level=logging.DEBUG)