# HG changeset patch # User catherine@Elli.myhome.westell.com # Date 1228233641 18000 # Node ID c50615cf814fa63600a46e42511d81be30b9d663 # Parent 1d1439be0a55eb46f8b388b3b0fffde7c256a72b merged with changes from work diff -r 1d1439be0a55 -r c50615cf814f cmd2.py --- a/cmd2.py Mon Dec 01 16:26:28 2008 -0500 +++ b/cmd2.py Tue Dec 02 11:00:41 2008 -0500 @@ -52,7 +52,7 @@ def newFunc(instance, arg): try: opts, newArgs = optionParser.parse_args(arg.split()) - newArgs = arg[arg.find(newArgs[0]):] + newArgs = (newArgs and arg[arg.find(newArgs[0]):]) or '' except (optparse.OptionValueError, optparse.BadOptionError, optparse.OptionError, optparse.AmbiguousOptionError, optparse.OptionConflictError), e: @@ -406,6 +406,11 @@ self.inputParser.ignore(pyparsing.sglQuotedString).ignore(pyparsing.dblQuotedString).ignore(self.commentGrammars).ignore(self.commentInProgress) def parsed(self, raw, useTerminatorFrom=None): + if isinstance(raw, ParsedString): + if useTerminatorFrom: + raw['terminator'] = useTerminatorFrom.parsed.terminator + raw['suffix'] = useTerminatorFrom.parsed.suffix + return raw s = self.inputParser.transformString(raw.strip()) for (shortcut, expansion) in self.shortcuts.items(): if s.startswith(shortcut): @@ -413,9 +418,7 @@ break result = self.parser.parseString(s) result['command'] = result.multilineCommand or result.command - #result['statement'] = ' '.join(result.statement) result['raw'] = raw - #result['clean'] = self.commentGrammars.transformString(result.statement) result['clean'] = self.commentGrammars.transformString(result.args) result['expanded'] = s if useTerminatorFrom: