[chirp_devel] [PATCH 1/9] Use argparse in chirpw (#2349)
Zach Welch
Tue Feb 24 23:26:45 PST 2015
# HG changeset patch
# User Zach Welch <zach at mandolincreekfarm.com>
Use argparse in chirpw (#2349)
This patch rewrites the argument processing in chirpw to use the
standard Python argparse.
diff --git a/chirpw b/chirpw
index 88b8e4b..a3a316c 100755
--- a/chirpw
+++ b/chirpw
@@ -28,6 +28,7 @@ import sys
import os
import locale
import gettext
+import argparse
p = platform.get_platform()
if hasattr(sys, "frozen"):
@@ -124,29 +125,21 @@ else:
from chirp import *
from chirpui import mainapp, config
-a = mainapp.ChirpMain()
+parser = argparse.ArgumentParser()
+parser.add_argument("files", metavar="file", nargs='*', help="File to open")
+parser.add_argument("--profile", action="store_true",
+ help="Enable profiling")
+args = parser.parse_args()
-profile = False
-if len(sys.argv) > 1:
- arg = sys.argv[1]
- index = 2
- if arg == "--profile":
- profile = True
- elif arg == "--help":
- print "Usage: %s [file...]" % sys.argv[0]
- sys.exit(0)
- else:
- index = 1
-else:
- index = 1
+a = mainapp.ChirpMain()
-for i in sys.argv[index:]:
+for i in args.files:
print "Opening %s" % i
a.do_open(i)
a.show()
-if profile:
+if args.profile:
import cProfile, pstats
cProfile.run("gtk.main()", "chirpw.stats")
p = pstats.Stats("chirpw.stats")
More information about the chirp_devel
mailing list