mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 03:44:55 +00:00 
			
		
		
		
	* 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()
 |