--- a/printrun-src/pronterface.py Tue Jan 19 20:44:16 2021 +0100 +++ b/printrun-src/pronterface.py Tue Jan 19 20:45:09 2021 +0100 @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # This file is part of the Printrun suite. # @@ -15,20 +15,17 @@ # You should have received a copy of the GNU General Public License # along with Printrun. If not, see <http://www.gnu.org/licenses/>. +import os import sys import getopt try: import wx # NOQA + if wx.VERSION < (4,): + raise ImportError() except: - print("wxPython is not installed. This program requires wxPython to run.") - if sys.version_info.major >= 3: - print("""\ -As you are currently running python3, this is most likely because wxPython is -not yet available for python3. You should try running with python2 instead.""") - sys.exit(-1) - else: - raise + print("wxPython >= 4 is not installed. This program requires wxPython >=4 to run.") + raise from printrun.pronterface import PronterApp @@ -36,27 +33,30 @@ from printrun.printcore import __version__ as printcore_version + os.environ['GDK_BACKEND'] = 'x11' + usage = "Usage:\n"+\ - " pronterface [OPTION]\n\n"+\ + " pronterface [OPTIONS] [FILE]\n\n"+\ "Options:\n"+\ + " -h, --help\t\t\tPrint this help message and exit\n"+\ " -V, --version\t\t\tPrint program's version number and exit\n"+\ - " -h, --help\t\t\tPrint this help message and exit\n"+\ + " -v, --verbose\t\t\tIncrease verbosity\n"+\ " -a, --autoconnect\t\tAutomatically try to connect to printer on startup\n"+\ - " -c, --conf\t\t\tLoad this file on startup instead of .pronsolerc; you may chain config files, if so settings auto-save will use the last specified file\n"+\ - " -e, --execute\t\t\tExecutes command after configuration/.pronsolerc is loaded; macros/settings from these commands are not autosaved" + " -c, --conf, --config=CONFIG_FILE\tLoad this file on startup instead of .pronsolerc; you may chain config files, if so settings auto-save will use the last specified file\n"+\ + " -e, --execute=COMMAND\t\tExecutes command after configuration/.pronsolerc is loaded; macros/settings from these commands are not autosaved" try: - opts, args = getopt.getopt(sys.argv[1:], "hVcea", ["help", "version", "conf", "execute", "autoconnect"]) - except getopt.GetoptError, err: - print str(err) - print usage + opts, args = getopt.getopt(sys.argv[1:], "hVvac:e:", ["help", "version", "verbose", "autoconnect", "conf=", "config=", "execute="]) + except getopt.GetoptError as err: + print(str(err)) + print(usage) sys.exit(2) for o, a in opts: if o in ('-V','--version'): - print "printrun "+printcore_version + print("printrun "+printcore_version) sys.exit(0) elif o in ('-h', '--help'): - print usage + print(usage) sys.exit(0) app = PronterApp(False)