mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	A nicety (author lost).
This commit is contained in:
		
							parent
							
								
									41c302fc68
								
							
						
					
					
						commit
						6cb2ac226e
					
				
					 2 changed files with 146 additions and 0 deletions
				
			
		
							
								
								
									
										73
									
								
								Doc/custlib.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								Doc/custlib.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Guido van Rossum
						Guido van Rossum