diff --git a/align.py b/align.py index c5a66fe..9067676 100755 --- a/align.py +++ b/align.py @@ -241,8 +241,13 @@ try: # log.error("Unable to load Qt4 support. Is it installed?") # sys.exit(1) QApplication, ui_package = utils.import_dialog(ui_toolkit) - ui = import_module(ui_package + ".aligndialog") + try: + ui = import_module(ui_package + ".aligndialog") + except ModuleNotFoundError: + log.error('HPLIP GUI is not available - use interactive mode ' + '(option \'-i\') or install hplip-gui package.') + sys.exit(1) #try: if 1: diff --git a/base/queues.py b/base/queues.py index 04c37b1..dec7fe9 100755 --- a/base/queues.py +++ b/base/queues.py @@ -375,8 +375,14 @@ def main_function(passwordObj = None, mode = GUI_MODE, ui_toolkit= UI_TOOLKIT_QT sys.exit(1) QApplication, ui_package = utils.import_dialog(ui_toolkit) - ui = import_module(ui_package + ".queuesconf") - setupdialog = import_module(ui_package + ".setupdialog") + + try: + ui = import_module(ui_package + ".queuesconf") + setupdialog = import_module(ui_package + ".setupdialog") + except ModuleNotFoundError: + log.error('HPLIP GUI is not available - use interactive mode ' + '(option \'-i\') or install hplip-gui package.') + sys.exit(1) app = QApplication(sys.argv) dialog = ui.QueuesDiagnose(None, "","",QUEUES_MSG_SENDING,passwordObj) diff --git a/base/utils.py b/base/utils.py index cde819f..0d6e9ff 100644 --- a/base/utils.py +++ b/base/utils.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/python3 # -*- coding: utf-8 -*- # # (c) Copyright 2001-2018 HP Development Company, L.P. @@ -734,6 +734,13 @@ def checkPyQtImport(): # qt3 if os.getenv('DISPLAY') and os.getenv('STARTED_FROM_MENU'): no_qt_message_gtk() + # hplip-gui sub-package (Fedora) + try: + import ui + except ImportError: + log.error("hplip-gui not installed. GUI not available. Exiting.") + return False + log.error("PyQt not installed. GUI not available. Exiting.") return False @@ -784,7 +791,8 @@ def checkPyQtImport4(): import PyQt5 import ui5 else: - log.debug("HPLIP is not installed properly or is installed without graphical support. Please reinstall HPLIP again") + # hplip-gui sub-package (Fedora) requires python3-qt5 + log.error("Install the hplip-gui package for graphical support.") return False return True @@ -2456,6 +2464,7 @@ def checkPyQtImport45(): except ImportError as e: log.debug(e) + log.error("Install the hplip-gui package for graphical support.") raise ImportError("GUI Modules PyQt4 and PyQt5 are not installed") @@ -2477,6 +2486,7 @@ def import_dialog(ui_toolkit): return (QApplication, "ui4") except ImportError as e: log.error(e) + log.error("Unable to load Qt support. Is hplip-gui package installed?") sys.exit(1) elif ui_toolkit == "qt5": try: @@ -2485,9 +2495,7 @@ def import_dialog(ui_toolkit): return (QApplication, "ui5") except ImportError as e: log.error(e) - sys.exit(1) - else: - log.error("Unable to load Qt support. Is it installed?") + log.error("Unable to load Qt support. Is hplip-gui package installed?") sys.exit(1) diff --git a/clean.py b/clean.py index 3d41f04..0141f23 100755 --- a/clean.py +++ b/clean.py @@ -193,8 +193,13 @@ try: else: QApplication, ui_package = utils.import_dialog(ui_toolkit) - ui = import_module(ui_package + ".cleandialog") + try: + ui = import_module(ui_package + ".cleandialog") + except ModuleNotFoundError: + log.error('HPLIP GUI is not available - use interactive mode ' + '(option \'-i\') or install hplip-gui package.') + sys.exit(1) #try: if 1: diff --git a/diagnose_plugin.py b/diagnose_plugin.py index e4e6ebd..1bcd8c3 100755 --- a/diagnose_plugin.py +++ b/diagnose_plugin.py @@ -94,7 +94,14 @@ if mode == GUI_MODE: # sys.exit(1) QApplication, ui_package = utils.import_dialog(ui_toolkit) - ui = import_module(ui_package + ".plugindiagnose") + + try: + ui = import_module(ui_package + ".plugindiagnose") + except ModuleNotFoundError: + log.error('HPLIP GUI is not available - use interactive mode ' + '(option \'-i\') or install hplip-gui package.') + sys.exit(1) + from installer import pluginhandler app = QApplication(sys.argv) diff --git a/fab.py b/fab.py index 9bd6166..e11ebc4 100755 --- a/fab.py +++ b/fab.py @@ -854,8 +854,13 @@ if mode == GUI_MODE: else: # qt4 QApplication, ui_package = utils.import_dialog(ui_toolkit) - ui = import_module(ui_package + ".fabwindow") + try: + ui = import_module(ui_package + ".fabwindow") + except ModuleNotFoundError: + log.error('HPLIP GUI is not available - use interactive mode ' + '(option \'-i\') or install hplip-gui package.') + sys.exit(1) log.set_module("hp-fab(qt4)") diff --git a/firmware.py b/firmware.py index 33e044d..a38058b 100755 --- a/firmware.py +++ b/firmware.py @@ -118,7 +118,13 @@ try: # log.error("Unable to load Qt4 support. Is it installed?") # sys.exit(1) QApplication, ui_package = utils.import_dialog(ui_toolkit) - ui = import_module(ui_package + ".firmwaredialog") + + try: + ui = import_module(ui_package + ".firmwaredialog") + except ModuleNotFoundError: + log.error('HPLIP GUI is not available - use interactive mode ' + '(option \'-i\') or install hplip-gui package.') + sys.exit(1) if ui_toolkit == 'qt3': try: diff --git a/info.py b/info.py index 6c28531..5b05eda 100755 --- a/info.py +++ b/info.py @@ -172,7 +172,13 @@ try: else: # GUI mode QApplication, ui_package = utils.import_dialog(ui_toolkit) - ui = import_module(ui_package + ".infodialog") + + try: + ui = import_module(ui_package + ".infodialog") + except ModuleNotFoundError: + log.error('HPLIP GUI is not available - use interactive mode ' + '(option \'-i\') or install hplip-gui package.') + sys.exit(1) if 1: app = QApplication(sys.argv) diff --git a/plugin.py b/plugin.py index f54f726..58d6006 100755 --- a/plugin.py +++ b/plugin.py @@ -252,7 +252,14 @@ if mode == GUI_MODE: # clean_exit(1) QApplication, ui_package = utils.import_dialog(ui_toolkit) - ui = import_module(ui_package + ".plugindialog") + + try: + ui = import_module(ui_package + ".plugindialog") + except ModuleNotFoundError: + log.error('HPLIP GUI is not available - use interactive mode ' + '(option \'-i\') or install hplip-gui package.') + sys.exit(1) + if ui_toolkit == "qt5": from PyQt5.QtWidgets import QMessageBox elif ui_toolkit == "qt4": diff --git a/sendfax.py b/sendfax.py index 491c8f9..0815ee7 100755 --- a/sendfax.py +++ b/sendfax.py @@ -211,7 +211,13 @@ if mode == GUI_MODE: # sys.exit(1) QApplication, ui_package = utils.import_dialog(ui_toolkit) - ui = import_module(ui_package + ".sendfaxdialog") + + try: + ui = import_module(ui_package + ".sendfaxdialog") + except ModuleNotFoundError: + log.error('HPLIP GUI is not available - use interactive mode ' + '(option \'-i\') or install hplip-gui package.') + sys.exit(1) app = QApplication(sys.argv) dlg = ui.SendFaxDialog(None, printer_name, device_uri, mod.args) diff --git a/setup.py b/setup.py index 2608f95..b09a8ef 100755 --- a/setup.py +++ b/setup.py @@ -310,7 +310,12 @@ if mode == GUI_MODE: # clean_exit(1) QApplication, ui_package = utils.import_dialog(ui_toolkit) - ui = import_module(ui_package + ".setupdialog") + try: + ui = import_module(ui_package + ".setupdialog") + except ModuleNotFoundError: + log.error('HPLIP GUI is not available - use interactive mode ' + '(option \'-i\') or install hplip-gui package.') + sys.exit(1) app = QApplication(sys.argv) log.debug("Sys.argv=%s printer_name=%s param=%s jd_port=%s device_uri=%s remove=%s" % (sys.argv, printer_name, param, jd_port, device_uri, remove)) diff --git a/testpage.py b/testpage.py index a5ed2bc..2a707a1 100755 --- a/testpage.py +++ b/testpage.py @@ -77,7 +77,13 @@ try: # log.error("Unable to load Qt4 support. Is it installed?") # sys.exit(1) QApplication, ui_package = utils.import_dialog(ui_toolkit) - ui = import_module(ui_package + ".printtestpagedialog") + + try: + ui = import_module(ui_package + ".printtestpagedialog") + except ModuleNotFoundError: + log.error('HPLIP GUI is not available - use interactive mode ' + '(option \'-i\') or install hplip-gui package.') + sys.exit(1) log.set_module("%s(UI)" % __mod__)