diff options
author | kotfu <kotfu@kotfu.net> | 2018-01-07 13:51:53 -0700 |
---|---|---|
committer | kotfu <kotfu@kotfu.net> | 2018-01-07 13:51:53 -0700 |
commit | cc32105daa5c096a5c7fcd2b47729eebc871ebef (patch) | |
tree | 5a8ffda0edf7338a6b5f85e7ecf9ec75c3aa24cf /cmd2.py | |
parent | 4f54d10f4c8d5b5c03626a88f8198318a8080fc6 (diff) | |
download | cmd2-git-cc32105daa5c096a5c7fcd2b47729eebc871ebef.tar.gz |
Default posix and quote removal working.
Diffstat (limited to 'cmd2.py')
-rwxr-xr-x | cmd2.py | 22 |
1 files changed, 10 insertions, 12 deletions
@@ -31,6 +31,7 @@ import datetime import glob import io import optparse +import argparse import os import platform import re @@ -248,22 +249,19 @@ def with_argument_parser(argparser): """ def arg_decorator(func): def cmd_wrapper(instance, arg): - #print("before command") + print("before command") # Use shlex to split the command line into a list of arguments based on shell rules - opts = argparser.parse_args(shlex.split(arg, posix=POSIX_SHLEX)) - #import ipdb; ipdb.set_trace() - - + lexed_arglist = shlex.split(arg, posix=POSIX_SHLEX) # If not using POSIX shlex, make sure to strip off outer quotes for convenience if not POSIX_SHLEX and STRIP_QUOTES_FOR_NON_POSIX: - newopts = opts -# for key, val in vars(opts): -# if isinstance(val, str): -# newopts[key] = strip_quotes(val) - opts = newopts -### opts = argparser.parse_args(shlex.split(arg, posix=POSIX_SHLEX)) + temp_arglist = [] + for arg in lexed_arglist: + temp_arglist.append(strip_quotes(arg)) + lexed_arglist = temp_arglist + opts = argparser.parse_args(lexed_arglist) + func(instance, arg, opts) - #print("after command") + print("after command") return cmd_wrapper return arg_decorator |