perf scripts python: exported-sql-viewer.py: Use argparse module for argument parsing
authorAdrian Hunter <adrian.hunter@intel.com>
Fri, 12 Apr 2019 11:38:24 +0000 (14:38 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 28 May 2019 21:37:45 +0000 (18:37 -0300)
The argparse module makes it easier to add new arguments.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/20190412113830.4126-3-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/scripts/python/exported-sql-viewer.py

index 9ff92a130655cb3891225908c9bb42b8a3f0e99a..498b79454012a882eb0d6af4de67746ea652c516 100755 (executable)
@@ -91,6 +91,7 @@
 from __future__ import print_function
 
 import sys
+import argparse
 import weakref
 import threading
 import string
@@ -3361,18 +3362,26 @@ class DBRef():
 # Main
 
 def Main():
-       if (len(sys.argv) < 2):
-               printerr("Usage is: exported-sql-viewer.py {<database name> | --help-only}");
-               raise Exception("Too few arguments")
-
-       dbname = sys.argv[1]
-       if dbname == "--help-only":
+       usage_str =     "exported-sql-viewer.py [--pyside-version-1] <database name>\n" \
+                       "   or: exported-sql-viewer.py --help-only"
+       ap = argparse.ArgumentParser(usage = usage_str, add_help = False)
+       ap.add_argument("dbname", nargs="?")
+       ap.add_argument("--help-only", action='store_true')
+       args = ap.parse_args()
+
+       if args.help_only:
                app = QApplication(sys.argv)
                mainwindow = HelpOnlyWindow()
                mainwindow.show()
                err = app.exec_()
                sys.exit(err)
 
+       dbname = args.dbname
+       if dbname is None:
+               ap.print_usage()
+               print("Too few arguments")
+               sys.exit(1)
+
        is_sqlite3 = False
        try:
                f = open(dbname, "rb")