Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 895e892

Browse files
committed
Call main routine in pydoc module (pydoc.cli).
1 parent 1d38463 commit 895e892

1 file changed

Lines changed: 2 additions & 76 deletions

File tree

Tools/scripts/pydoc

Lines changed: 2 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -1,78 +1,4 @@
11
#!/usr/bin/env python
22

3-
# -------------------------------------------------- command-line interface
4-
5-
import sys, os, pydoc
6-
from string import lower
7-
8-
if __name__ == '__main__':
9-
import getopt
10-
class BadUsage: pass
11-
12-
try:
13-
opts, args = getopt.getopt(sys.argv[1:], 'k:p:w')
14-
writing = 0
15-
16-
for opt, val in opts:
17-
if opt == '-k':
18-
pydoc.apropos(lower(val))
19-
break
20-
if opt == '-p':
21-
try:
22-
port = int(val)
23-
except ValueError:
24-
raise BadUsage
25-
def ready(port=port):
26-
print 'server ready at http://127.0.0.1:%d/' % port
27-
pydoc.serve(('127.0.0.1', port), ready)
28-
break
29-
if opt == '-w':
30-
if not args: raise BadUsage
31-
writing = 1
32-
else:
33-
if args:
34-
for arg in args:
35-
try:
36-
if os.path.isfile(arg):
37-
arg = pydoc.importfile(arg)
38-
if writing:
39-
if os.path.isdir(arg): pydoc.writedocs(arg)
40-
else: pydoc.writedoc(arg)
41-
else: pydoc.man(arg)
42-
except pydoc.DocImportError, value:
43-
print 'problem in %s - %s' % (
44-
value.filename, value.args)
45-
else:
46-
if sys.platform in ['mac', 'win', 'win32', 'nt']:
47-
# GUI platforms with threading
48-
import threading
49-
ready = threading.Event()
50-
address = ('127.0.0.1', 12346)
51-
threading.Thread(
52-
target=pydoc.serve, args=(address, ready.set)).start()
53-
ready.wait()
54-
import webbrowser
55-
webbrowser.open('http://127.0.0.1:12346/')
56-
else:
57-
raise BadUsage
58-
59-
except (getopt.error, BadUsage):
60-
print """%s <name> ...
61-
Show documentation on something.
62-
<name> may be the name of a Python function, module, or package,
63-
or a dotted reference to a class or function within a module or
64-
module in a package, or the filename of a Python module to import.
65-
66-
%s -k <keyword>
67-
Search for a keyword in the synopsis lines of all modules.
68-
69-
%s -p <port>
70-
Start an HTTP server on the given port on the local machine.
71-
72-
%s -w <module> ...
73-
Write out the HTML documentation for a module to a file.
74-
75-
%s -w <moduledir>
76-
Write out the HTML documentation for all modules in the tree
77-
under a given directory to files in the current directory.
78-
""" % ((sys.argv[0],) * 5)
3+
import pydoc
4+
pydoc.cli()

0 commit comments

Comments
 (0)