From 3c61aab7885922009b2076af82cf8c2af41615e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mei=C3=9Fner?= <daniel.meissner@inf.h-brs.de> Date: Mon, 21 Dec 2015 15:28:29 +0100 Subject: [PATCH] dependencies: added connected rf hardware check --- lib/dependencies.py | 36 +++++++++++++++++++++++++++++++++--- su.py | 11 ++++------- 2 files changed, 37 insertions(+), 10 deletions(-) diff --git a/lib/dependencies.py b/lib/dependencies.py index 445015a..5bfebaf 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 112dd57..883b414 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) -- GitLab