mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	 6f0132f490
			
		
	
	
		6f0132f490
		
	
	
	
	
		
			
			* Makefile: added 'ext' to 'all' target
* ext.tex: more changes towards a readable text
* lib4.tex (posix): added set{uid,gid}
* lib2.tex (array): restored doc for typecode and itemsize (which were
  there but not visible for dir())
		
	
			
		
			
				
	
	
		
			55 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import os
 | |
| import sys
 | |
| import regex
 | |
| import regsub
 | |
| import string
 | |
| import getopt
 | |
| 
 | |
| def main():
 | |
| 	process(sys.stdin, sys.stdout)
 | |
| 
 | |
| dashes = regex.compile('^-+[ \t]*$')
 | |
| equals = regex.compile('^=+[ \t]*$')
 | |
| stars = regex.compile('^\*+[ \t]*$')
 | |
| blank = regex.compile('^[ \t]*$')
 | |
| indented = regex.compile('^\( *\t\|        \)[ \t]*[^ \t]')
 | |
| 
 | |
| def process(fi, fo):
 | |
| 	inverbatim = 0
 | |
| 	line = '\n'
 | |
| 	nextline = fi.readline()
 | |
| 	while nextline:
 | |
| 		prevline = line
 | |
| 		line = nextline
 | |
| 		nextline = fi.readline()
 | |
| 		fmt = None
 | |
| 		if dashes.match(nextline) >= 0:
 | |
| 			fmt = '\\subsection{%s}\n'
 | |
| 		elif equals.match(nextline) >= 0:
 | |
| 			fmt = '\\section{%s}\n'
 | |
| 		elif stars.match(nextline) >= 0:
 | |
| 			fmt = '\\chapter{%s}\n'
 | |
| 		if fmt:
 | |
| 			nextline = '\n'
 | |
| 			line =  fmt % string.strip(line)
 | |
| 			if '(' in line:
 | |
| 				line = regsub.gsub('[a-zA-Z0-9_]+()',
 | |
| 					  '{\\\\tt \\0}', line)
 | |
| 		elif inverbatim:
 | |
| 			if blank.match(line) >= 0 and \
 | |
| 				  indented.match(nextline) < 0:
 | |
| 				inverbatim = 0
 | |
| 				fo.write('\\end{verbatim}\n')
 | |
| 		else:
 | |
| 			if indented.match(line) >= 0 and \
 | |
| 				  blank.match(prevline) >= 0:
 | |
| 				inverbatim = 1
 | |
| 				fo.write('\\begin{verbatim}\n')
 | |
| 		if inverbatim:
 | |
| 			line = string.expandtabs(line, 4)
 | |
| 		elif not fmt and '(' in line:
 | |
| 			line = regsub.gsub('[a-zA-Z0-9_]+()',
 | |
| 				  '\\\\code{\\0}', line)
 | |
| 		fo.write(line)
 | |
| 
 | |
| main()
 |