diff --git a/lib/options.py b/lib/options.py new file mode 100644 index 0000000..1b0706f --- /dev/null +++ b/lib/options.py @@ -0,0 +1,39 @@ +""" +Parse query arguments. +""" + +def parse_args(args): + """ + Parse arguments and options. + Replace short options with their long counterparts. + """ + result = {} + + query = "" + for key, val in args.items(): + if val == "" or val == []: + query += key + continue + + if 'T' in query: + result['no-terminal'] = True + if 'q' in query: + result['quiet'] = True + + options_meaning = { + "c": dict(add_comments=True), + "C": dict(add_comments=False), + "Q": dict(remove_text=True), + } + for option, meaning in options_meaning.items(): + if option in query: + result.update(meaning) + + for key, val in args.items(): + if val == 'True': + val = True + if val == 'False': + val = False + result[key] = val + + return result