mirror of https://github.com/python/cpython
Call main routine in pydoc module (pydoc.cli).
This commit is contained in:
parent
1d384634bf
commit
895e8925d6
|
@ -1,78 +1,4 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
# -------------------------------------------------- command-line interface
|
import pydoc
|
||||||
|
pydoc.cli()
|
||||||
import sys, os, pydoc
|
|
||||||
from string import lower
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
import getopt
|
|
||||||
class BadUsage: pass
|
|
||||||
|
|
||||||
try:
|
|
||||||
opts, args = getopt.getopt(sys.argv[1:], 'k:p:w')
|
|
||||||
writing = 0
|
|
||||||
|
|
||||||
for opt, val in opts:
|
|
||||||
if opt == '-k':
|
|
||||||
pydoc.apropos(lower(val))
|
|
||||||
break
|
|
||||||
if opt == '-p':
|
|
||||||
try:
|
|
||||||
port = int(val)
|
|
||||||
except ValueError:
|
|
||||||
raise BadUsage
|
|
||||||
def ready(port=port):
|
|
||||||
print 'server ready at http://127.0.0.1:%d/' % port
|
|
||||||
pydoc.serve(('127.0.0.1', port), ready)
|
|
||||||
break
|
|
||||||
if opt == '-w':
|
|
||||||
if not args: raise BadUsage
|
|
||||||
writing = 1
|
|
||||||
else:
|
|
||||||
if args:
|
|
||||||
for arg in args:
|
|
||||||
try:
|
|
||||||
if os.path.isfile(arg):
|
|
||||||
arg = pydoc.importfile(arg)
|
|
||||||
if writing:
|
|
||||||
if os.path.isdir(arg): pydoc.writedocs(arg)
|
|
||||||
else: pydoc.writedoc(arg)
|
|
||||||
else: pydoc.man(arg)
|
|
||||||
except pydoc.DocImportError, value:
|
|
||||||
print 'problem in %s - %s' % (
|
|
||||||
value.filename, value.args)
|
|
||||||
else:
|
|
||||||
if sys.platform in ['mac', 'win', 'win32', 'nt']:
|
|
||||||
# GUI platforms with threading
|
|
||||||
import threading
|
|
||||||
ready = threading.Event()
|
|
||||||
address = ('127.0.0.1', 12346)
|
|
||||||
threading.Thread(
|
|
||||||
target=pydoc.serve, args=(address, ready.set)).start()
|
|
||||||
ready.wait()
|
|
||||||
import webbrowser
|
|
||||||
webbrowser.open('http://127.0.0.1:12346/')
|
|
||||||
else:
|
|
||||||
raise BadUsage
|
|
||||||
|
|
||||||
except (getopt.error, BadUsage):
|
|
||||||
print """%s <name> ...
|
|
||||||
Show documentation on something.
|
|
||||||
<name> may be the name of a Python function, module, or package,
|
|
||||||
or a dotted reference to a class or function within a module or
|
|
||||||
module in a package, or the filename of a Python module to import.
|
|
||||||
|
|
||||||
%s -k <keyword>
|
|
||||||
Search for a keyword in the synopsis lines of all modules.
|
|
||||||
|
|
||||||
%s -p <port>
|
|
||||||
Start an HTTP server on the given port on the local machine.
|
|
||||||
|
|
||||||
%s -w <module> ...
|
|
||||||
Write out the HTML documentation for a module to a file.
|
|
||||||
|
|
||||||
%s -w <moduledir>
|
|
||||||
Write out the HTML documentation for all modules in the tree
|
|
||||||
under a given directory to files in the current directory.
|
|
||||||
""" % ((sys.argv[0],) * 5)
|
|
||||||
|
|
Loading…
Reference in New Issue