mirror of https://github.com/python/cpython.git
A nicety (author lost).
This commit is contained in:
parent
41c302fc68
commit
6cb2ac226e
|
@ -0,0 +1,73 @@
|
|||
# Generate custlib.tex, which is a site-specific library document.
|
||||
|
||||
# Phase I: list all the things that can be imported
|
||||
|
||||
import glob, os, sys, string
|
||||
modules={}
|
||||
|
||||
for modname in sys.builtin_module_names:
|
||||
modules[modname]=modname
|
||||
|
||||
for dir in sys.path:
|
||||
# Look for *.py files
|
||||
filelist=glob.glob(os.path.join(dir, '*.py'))
|
||||
for file in filelist:
|
||||
path, file = os.path.split(file)
|
||||
base, ext=os.path.splitext(file)
|
||||
modules[string.lower(base)]=base
|
||||
|
||||
# Look for shared library files
|
||||
filelist=(glob.glob(os.path.join(dir, '*.so')) +
|
||||
glob.glob(os.path.join(dir, '*.sl')) +
|
||||
glob.glob(os.path.join(dir, '*.o')) )
|
||||
for file in filelist:
|
||||
path, file = os.path.split(file)
|
||||
base, ext=os.path.splitext(file)
|
||||
if base[-6:]=='module': base=base[:-6]
|
||||
modules[string.lower(base)]=base
|
||||
|
||||
# Minor oddity: the types module is documented in libtypes2.tex
|
||||
if modules.has_key('types'):
|
||||
del modules['types'] ; modules['types2']=None
|
||||
|
||||
# Phase II: find all documentation files (lib*.tex)
|
||||
# and eliminate modules that don't have one.
|
||||
|
||||
docs={}
|
||||
filelist=glob.glob('lib*.tex')
|
||||
for file in filelist:
|
||||
modname=file[3:-4]
|
||||
docs[modname]=modname
|
||||
|
||||
mlist=modules.keys()
|
||||
mlist=filter(lambda x, docs=docs: docs.has_key(x), mlist)
|
||||
mlist.sort()
|
||||
mlist=map(lambda x, docs=docs: docs[x], mlist)
|
||||
|
||||
modules=mlist
|
||||
|
||||
# Phase III: write custlib.tex
|
||||
|
||||
# Write the boilerplate
|
||||
# XXX should be fancied up.
|
||||
print """\documentstyle[twoside,11pt,myformat]{report}
|
||||
\\title{Python Library Reference}
|
||||
\\input{boilerplate}
|
||||
\\makeindex % tell \\index to actually write the .idx file
|
||||
\\begin{document}
|
||||
\\pagenumbering{roman}
|
||||
\\maketitle
|
||||
\\input{copyright}
|
||||
\\begin{abstract}
|
||||
\\noindent This is a customized version of the Python Library Reference.
|
||||
\\end{abstract}
|
||||
\\pagebreak
|
||||
{\\parskip = 0mm \\tableofcontents}
|
||||
\\pagebreak\\pagenumbering{arabic}"""
|
||||
|
||||
for modname in mlist:
|
||||
print "\\input{lib%s}" % (modname,)
|
||||
|
||||
# Write the end
|
||||
print """\\input{custlib.ind} % Index
|
||||
\\end{document}"""
|
|
@ -0,0 +1,73 @@
|
|||
# Generate custlib.tex, which is a site-specific library document.
|
||||
|
||||
# Phase I: list all the things that can be imported
|
||||
|
||||
import glob, os, sys, string
|
||||
modules={}
|
||||
|
||||
for modname in sys.builtin_module_names:
|
||||
modules[modname]=modname
|
||||
|
||||
for dir in sys.path:
|
||||
# Look for *.py files
|
||||
filelist=glob.glob(os.path.join(dir, '*.py'))
|
||||
for file in filelist:
|
||||
path, file = os.path.split(file)
|
||||
base, ext=os.path.splitext(file)
|
||||
modules[string.lower(base)]=base
|
||||
|
||||
# Look for shared library files
|
||||
filelist=(glob.glob(os.path.join(dir, '*.so')) +
|
||||
glob.glob(os.path.join(dir, '*.sl')) +
|
||||
glob.glob(os.path.join(dir, '*.o')) )
|
||||
for file in filelist:
|
||||
path, file = os.path.split(file)
|
||||
base, ext=os.path.splitext(file)
|
||||
if base[-6:]=='module': base=base[:-6]
|
||||
modules[string.lower(base)]=base
|
||||
|
||||
# Minor oddity: the types module is documented in libtypes2.tex
|
||||
if modules.has_key('types'):
|
||||
del modules['types'] ; modules['types2']=None
|
||||
|
||||
# Phase II: find all documentation files (lib*.tex)
|
||||
# and eliminate modules that don't have one.
|
||||
|
||||
docs={}
|
||||
filelist=glob.glob('lib*.tex')
|
||||
for file in filelist:
|
||||
modname=file[3:-4]
|
||||
docs[modname]=modname
|
||||
|
||||
mlist=modules.keys()
|
||||
mlist=filter(lambda x, docs=docs: docs.has_key(x), mlist)
|
||||
mlist.sort()
|
||||
mlist=map(lambda x, docs=docs: docs[x], mlist)
|
||||
|
||||
modules=mlist
|
||||
|
||||
# Phase III: write custlib.tex
|
||||
|
||||
# Write the boilerplate
|
||||
# XXX should be fancied up.
|
||||
print """\documentstyle[twoside,11pt,myformat]{report}
|
||||
\\title{Python Library Reference}
|
||||
\\input{boilerplate}
|
||||
\\makeindex % tell \\index to actually write the .idx file
|
||||
\\begin{document}
|
||||
\\pagenumbering{roman}
|
||||
\\maketitle
|
||||
\\input{copyright}
|
||||
\\begin{abstract}
|
||||
\\noindent This is a customized version of the Python Library Reference.
|
||||
\\end{abstract}
|
||||
\\pagebreak
|
||||
{\\parskip = 0mm \\tableofcontents}
|
||||
\\pagebreak\\pagenumbering{arabic}"""
|
||||
|
||||
for modname in mlist:
|
||||
print "\\input{lib%s}" % (modname,)
|
||||
|
||||
# Write the end
|
||||
print """\\input{custlib.ind} % Index
|
||||
\\end{document}"""
|
Loading…
Reference in New Issue