diff options
author | Ismaël Bouya <ismael.bouya@normalesup.org> | 2016-07-14 16:04:32 +0200 |
---|---|---|
committer | Ismaël Bouya <ismael.bouya@normalesup.org> | 2016-07-14 16:04:32 +0200 |
commit | 71715c049145a074b0f2b8d90c8c8c47830323c3 (patch) | |
tree | 63fee2b79b8e5b532fa57366590853dda18bb006 | |
parent | 0deb82a57ae3abefd44509dc88c546f6e5a94d1b (diff) | |
download | MusicSampler-71715c049145a074b0f2b8d90c8c8c47830323c3.tar.gz MusicSampler-71715c049145a074b0f2b8d90c8c8c47830323c3.tar.zst MusicSampler-71715c049145a074b0f2b8d90c8c8c47830323c3.zip |
Use argparse for parser
-rw-r--r-- | helpers/__init__.py | 47 |
1 files changed, 32 insertions, 15 deletions
diff --git a/helpers/__init__.py b/helpers/__init__.py index 2131c2a..3b97f2f 100644 --- a/helpers/__init__.py +++ b/helpers/__init__.py | |||
@@ -1,4 +1,5 @@ | |||
1 | # -*- coding: utf-8 -*- | 1 | # -*- coding: utf-8 -*- |
2 | import argparse | ||
2 | import sys | 3 | import sys |
3 | import os | 4 | import os |
4 | 5 | ||
@@ -17,21 +18,37 @@ def path(): | |||
17 | return path + "/../" | 18 | return path + "/../" |
18 | 19 | ||
19 | def parse_args(): | 20 | def parse_args(): |
20 | for arg in sys.argv: | 21 | argv = sys.argv[1:] |
21 | if arg[0:2] == "-c": | 22 | sys.argv = sys.argv[:1] |
22 | sys.argv.remove(arg) | 23 | if "--" in argv: |
23 | config.yml_file = arg[2:] | 24 | index = argv.index("--") |
24 | 25 | kivy_args = argv[index+1:] | |
25 | if arg == "-v": | 26 | argv = argv[:index] |
26 | sys.argv.remove(arg) | 27 | |
27 | 28 | sys.argv.extend(kivy_args) | |
28 | if getattr(sys, 'frozen', False): | 29 | |
29 | f = open(path() + ".pyinstaller_commit", "r") | 30 | parser = argparse.ArgumentParser(description="A Music Sampler application.") |
30 | print(f.read(), end="") | 31 | parser.add_argument("-c", "--config", |
31 | f.close() | 32 | default="config.yml", |
32 | else: | 33 | required=False, |
33 | print("option '-v' can only be used in bundled package") | 34 | help="Config file to load") |
34 | sys.exit() | 35 | parser.add_argument("-V", "--version", |
36 | action="version", | ||
37 | help="Displays the current version and exits. Only use in bundled package", | ||
38 | version=show_version()) | ||
39 | parser.add_argument('--', | ||
40 | dest="args", | ||
41 | help="Kivy arguments. All arguments after this are interpreted by Kivy. Pass \"-- --help\" to get Kivy's usage.") | ||
42 | args = parser.parse_args(argv) | ||
43 | |||
44 | config.yml_file = args.config | ||
45 | |||
46 | def show_version(): | ||
47 | if getattr(sys, 'frozen', False): | ||
48 | with open(path() + ".pyinstaller_commit", "r") as f: | ||
49 | return f.read() | ||
50 | else: | ||
51 | return "option '-v' can only be used in bundled package" | ||
35 | 52 | ||
36 | def yml_file(): | 53 | def yml_file(): |
37 | return config.yml_file | 54 | return config.yml_file |