Copyright (C) 2000-2012 |
GNU Info (python2.1-lib.info)Cmd ObjectsCmd Objects ----------- A `Cmd' instance has the following methods: `cmdloop([intro])' Repeatedly issue a prompt, accept input, parse an initial prefix off the received input, and dispatch to action methods, passing them the remainder of the line as argument. The optional argument is a banner or intro string to be issued before the first prompt (this overrides the `intro' class member). If the `readline' module is loaded, input will automatically inherit `bash'-like history-list editing (e.g. <Ctrl-P> scrolls back to the last command, <Ctrl-N> forward to the next one, <Ctrl-F> moves the cursor to the right non-destructively, <Ctrl-B> moves the cursor to the left non-destructively, etc.). An end-of-file on input is passed back as the string `'EOF''. An interpreter instance will recognize a command name `foo' if and only if it has a method `do_foo()'. As a special case, a line beginning with the character `?' is dispatched to the method `do_help()'. As another special case, a line beginning with the character `!' is dispatched to the method `do_shell' (if such a method is defined). All subclasses of `Cmd' inherit a predefined `do_help'. This method, called with an argument `bar', invokes the corresponding method `help_bar()'. With no argument, `do_help()' lists all available help topics (that is, all commands with corresponding `help_*()' methods), and also lists any undocumented commands. `onecmd(str)' Interpret the argument as though it had been typed in response to the prompt. This may be overridden, but should not normally need to be; see the `precmd()' and `postcmd()' methods for useful execution hooks. The return value is a flag indicating whether interpretation of commands by the interpreter should stop. `emptyline()' Method called when an empty line is entered in response to the prompt. If this method is not overridden, it repeats the last nonempty command entered. `default(line)' Method called on an input line when the command prefix is not recognized. If this method is not overridden, it prints an error message and returns. `precmd()' Hook method executed just before the command line LINE is interpreted, but after the input prompt is generated and issued. This method is a stub in `Cmd'; it exists to be overridden by subclasses. The return value is used as the command which will be executed by the `onecmd()' method; the `precmd()' implementation may re-write the command or simply return LINE unchanged. `postcmd(stop, line)' Hook method executed just after a command dispatch is finished. This method is a stub in `Cmd'; it exists to be overridden by subclasses. LINE is the command line which was executed, and STOP is a flag which indicates whether execution will be terminated after the call to `postcmd()'; this will be the return value of the `onecmd()' method. The return value of this method will be used as the new value for the internal flag which corresponds to STOP; returning false will cause interpretation to continue. `preloop()' Hook method executed once when `cmdloop()' is called. This method is a stub in `Cmd'; it exists to be overridden by subclasses. `postloop()' Hook method executed once when `cmdloop()' is about to return. This method is a stub in `Cmd'; it exists to be overridden by subclasses. Instances of `Cmd' subclasses have some public instance variables: `prompt' The prompt issued to solicit input. `identchars' The string of characters accepted for the command prefix. `lastcmd' The last nonempty command prefix seen. `intro' A string to issue as an intro or banner. May be overridden by giving the `cmdloop()' method an argument. `doc_header' The header to issue if the help output has a section for documented commands. `misc_header' The header to issue if the help output has a section for miscellaneous help topics (that is, there are `help_*()' methods without corresponding `do_*()' methods). `undoc_header' The header to issue if the help output has a section for undocumented commands (that is, there are `do_*()' methods without corresponding `help_*()' methods). `ruler' The character used to draw separator lines under the help-message headers. If empty, no ruler line is drawn. It defaults to `='. `use_rawinput' A flag, defaulting to true. If true, `cmdloop()' uses `raw_input()' to display a prompt and read the next command; if false, `sys.stdout.write()' and `sys.stdin.readline()' are used. automatically generated by info2www version 1.2.2.9 |