[issue33227] Cmd do_something only accepts one argument

Éric Araujo report at bugs.python.org
Fri Apr 6 12:40:59 EDT 2018


Éric Araujo <merwok at netwok.org> added the comment:

I think using shlex unconditionally to parse lines sent to cmd.Cmd may not be ideal.

Cmd is very generic and there are many ways to parse lines into arguments:
- no parsing (think Python shells or remote command execution)
- shlex (makes sense for unix users, maybe not others)
- parse_ints as in your example (lexing + conversion)
- optparse (I read about a tool where the interactive command format was the same as the command-line arguments format, which makes is super easy to support all commands in a config file or “session replay” file!)
- many more.

Could the shlex parsing be in a subclass?  Or is it small enough to be in the docs?  If it’s not small, maybe the base Cmd class needs to be reworked to make it easier to hook into line parsing?

----------
nosy: +eric.araujo

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue33227>
_______________________________________


More information about the Python-bugs-list mailing list