PEP 233, Python Online Help, Paul Prescod
This commit is contained in:
parent
f32c7da17c
commit
ec301bb37d
|
@ -0,0 +1,98 @@
|
||||||
|
PEP: 233
|
||||||
|
Title: Python Online Help
|
||||||
|
Version: $Revision$
|
||||||
|
Author: paul@prescod.net, paulp@activestate.com (Paul Prescod)
|
||||||
|
Status: Draft
|
||||||
|
Type: Standards Track
|
||||||
|
Created: 11-Dec-2000
|
||||||
|
Python-Version: 2.1
|
||||||
|
Post-History:
|
||||||
|
|
||||||
|
|
||||||
|
Abstract
|
||||||
|
|
||||||
|
This PEP describes a command-line driven online help facility for
|
||||||
|
Python. The facility should be able to build on existing
|
||||||
|
documentation facilities such as the Python documentation and
|
||||||
|
docstrings. It should also be extensible for new types and
|
||||||
|
modules.
|
||||||
|
|
||||||
|
|
||||||
|
Interactive use:
|
||||||
|
|
||||||
|
Simply typing "help" describes the help function (through repr()
|
||||||
|
overloading).
|
||||||
|
|
||||||
|
"help" can also be used as a function:
|
||||||
|
|
||||||
|
The function takes the following forms of input:
|
||||||
|
|
||||||
|
help( "string" ) -- built-in topic or global
|
||||||
|
help( <ob> ) -- docstring from object or type
|
||||||
|
help( "doc:filename" ) -- filename from Python documentation
|
||||||
|
|
||||||
|
If you ask for a global, it can be a fully-qualified name such as
|
||||||
|
help("xml.dom").
|
||||||
|
|
||||||
|
You can also use the facility from a command-line
|
||||||
|
|
||||||
|
python --help if
|
||||||
|
|
||||||
|
In either situation, the output does paging similar to the "more"
|
||||||
|
command.
|
||||||
|
|
||||||
|
|
||||||
|
Implementation
|
||||||
|
|
||||||
|
The help function is implemented in an onlinehelp module which is
|
||||||
|
demand-loaded.
|
||||||
|
|
||||||
|
There should be options for fetching help information from
|
||||||
|
environments other than the command line through the onlinehelp
|
||||||
|
module:
|
||||||
|
|
||||||
|
onlinehelp.gethelp(object_or_string) -> string
|
||||||
|
|
||||||
|
It should also be possible to override the help display function
|
||||||
|
by assigning to onlinehelp.displayhelp(object_or_string).
|
||||||
|
|
||||||
|
The module should be able to extract module information from
|
||||||
|
either the HTML or LaTeX versions of the Python documentation.
|
||||||
|
Links should be accommodated in a "lynx-like" manner.
|
||||||
|
|
||||||
|
Over time, it should also be able to recognize when docstrings are
|
||||||
|
in "special" syntaxes like structured text, HTML and LaTeX and
|
||||||
|
decode them appropriately.
|
||||||
|
|
||||||
|
A prototype implementation is available with the Python source
|
||||||
|
distribution as nondist/sandbox/doctools/onlinehelp.py.
|
||||||
|
|
||||||
|
|
||||||
|
Built-in Topics
|
||||||
|
|
||||||
|
help( "intro" ) - What is Python? Read this first!
|
||||||
|
help( "keywords" ) - What are the keywords?
|
||||||
|
help( "syntax" ) - What is the overall syntax?
|
||||||
|
help( "operators" ) - What operators are available?
|
||||||
|
help( "builtins" ) - What functions, types, etc. are built-in?
|
||||||
|
help( "modules" ) - What modules are in the standard library?
|
||||||
|
help( "copyright" ) - Who owns Python?
|
||||||
|
help( "moreinfo" ) - Where is there more information?
|
||||||
|
help( "changes" ) - What changed in Python 2.0?
|
||||||
|
help( "extensions" ) - What extensions are installed?
|
||||||
|
help( "faq" ) - What questions are frequently asked?
|
||||||
|
help( "ack" ) - Who has done work on Python lately?
|
||||||
|
|
||||||
|
|
||||||
|
Security Issues
|
||||||
|
|
||||||
|
This module will attempt to import modules with the same names as
|
||||||
|
requested topics. Don't use the modules if you are not confident
|
||||||
|
that everything in your PYTHONPATH is from a trusted source.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Local Variables:
|
||||||
|
mode: indented-text
|
||||||
|
indent-tabs-mode: nil
|
||||||
|
End:
|
Loading…
Reference in New Issue