printrun-src/pronterface.py

changeset 45
c82943fb205f
parent 15
0bbb006204fc
--- 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)

mercurial