9
9
from argparse import ArgumentParser , Namespace
10
10
from typing import List , Optional
11
11
12
-
13
12
def parse_arguments (argv : Optional [List [str ]] = None ) -> Namespace :
14
13
"""
15
14
Parse command-line arguments and return them.
@@ -24,9 +23,10 @@ def parse_arguments(argv: Optional[List[str]] = None) -> Namespace:
24
23
args = parse_arguments(['--detailed-git-stats'])
25
24
print(args.detailed_git_stats) # True
26
25
"""
27
-
26
+
28
27
parser = ArgumentParser (
29
- description = "Git Py Stats - A Python Implementation of Git Quick Stats."
28
+ description = "Git Py Stats - A Python Implementation of Git Quick Stats." ,
29
+ allow_abbrev = False , # Force users to be explicit. Makes testing sane.
30
30
)
31
31
32
32
# Generate Options
@@ -40,6 +40,7 @@ def parse_arguments(argv: Optional[List[str]] = None) -> Namespace:
40
40
"-R" ,
41
41
"--git-stats-by-branch" ,
42
42
metavar = "BRANCH" ,
43
+ type = str ,
43
44
help = "See detailed list of git stats by branch" ,
44
45
)
45
46
parser .add_argument (
@@ -52,6 +53,7 @@ def parse_arguments(argv: Optional[List[str]] = None) -> Namespace:
52
53
"-L" ,
53
54
"--changelogs-by-author" ,
54
55
metavar = '"AUTHOR NAME"' ,
56
+ type = str ,
55
57
help = "See changelogs by author" ,
56
58
)
57
59
parser .add_argument (
@@ -96,6 +98,7 @@ def parse_arguments(argv: Optional[List[str]] = None) -> Namespace:
96
98
"-n" ,
97
99
"--new-contributors" ,
98
100
metavar = "DATE" ,
101
+ type = str ,
99
102
help = "List everyone who made their first contribution since a specified date" ,
100
103
)
101
104
parser .add_argument (
@@ -132,6 +135,7 @@ def parse_arguments(argv: Optional[List[str]] = None) -> Namespace:
132
135
"-W" ,
133
136
"--commits-by-author-by-weekday" ,
134
137
metavar = '"AUTHOR NAME"' ,
138
+ type = str ,
135
139
help = "Displays a list of commits per weekday by author" ,
136
140
)
137
141
parser .add_argument (
@@ -144,6 +148,7 @@ def parse_arguments(argv: Optional[List[str]] = None) -> Namespace:
144
148
"-A" ,
145
149
"--commits-by-author-by-hour" ,
146
150
metavar = '"AUTHOR NAME"' ,
151
+ type = str ,
147
152
help = "Displays a list of commits per hour by author" ,
148
153
)
149
154
parser .add_argument (
@@ -156,6 +161,7 @@ def parse_arguments(argv: Optional[List[str]] = None) -> Namespace:
156
161
"-Z" ,
157
162
"--commits-by-author-by-timezone" ,
158
163
metavar = '"AUTHOR NAME"' ,
164
+ type = str ,
159
165
help = "Displays a list of commits per timezone by author" ,
160
166
)
161
167
@@ -169,4 +175,4 @@ def parse_arguments(argv: Optional[List[str]] = None) -> Namespace:
169
175
170
176
# Help option inherited from argparse by default, no need to impl them.
171
177
172
- return parser .parse_args ()
178
+ return parser .parse_args (argv )
0 commit comments