1 | # lognestmonster Copyright (c) 2019 Joshua 'joshuas3' Stockin |
2 | # <https://github.com/JoshuaS3/lognestmonster/>. |
3 |
|
4 |
|
5 | # This file is part of lognestmonster. |
6 |
|
7 | # lognestmonster is free software: you can redistribute it and/or modify |
8 | # it under the terms of the GNU General Public License as published by |
9 | # the Free Software Foundation, either version 3 of the License, or |
10 | # (at your option) any later version. |
11 |
|
12 | # lognestmonster is distributed in the hope that it will be useful, |
13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
15 | # GNU General Public License for more details. |
16 |
|
17 | # You should have received a copy of the GNU General Public License |
18 | # along with lognestmonster. If not, see <https://www.gnu.org/licenses/>. |
19 |
|
20 | from format import * |
21 | from args import * |
22 | # yeah, I know argparse is a thing, but I don't like it... |
23 |
|
24 | def get_arg_from_indicator(indicator): |
25 | for option in ARGUMENT_OPTIONS: |
26 | if indicator in ARGUMENT_OPTIONS[option]["indicators"]: |
27 | return option |
28 | return None |
29 |
|
30 | def get_arg_description(name): |
31 | return ARGUMENT_OPTIONS[name]["description"] |
32 |
|
33 | def parseargs(argv): |
34 | options = {} |
35 | argn = 0 |
36 | while argn < len(argv): |
37 | arg = argv[argn] |
38 | if arg == "-": |
39 | if argn == len(argv)-1: # if it's the last argument, allow it |
40 | break |
41 | opt = get_arg_from_indicator(arg) |
42 | if argn is not len(argv) - 1 and opt is None: # is a flag/option but is not known |
43 | options = TEXT_RED + "error:" + RESET + " unknown flag/option '" + arg + "'" |
44 | break |
45 | options[opt] = None |
46 | argn += 1 |
47 | return options |
48 |
|