reportlab/demos/odyssey/dodyssey.py
author rgbecker
Wed, 25 Oct 2000 08:57:46 +0000
changeset 494 54257447cfe9
parent 253 cfcf8d555a2c
child 506 68bd275f16e2
permissions -rw-r--r--
Changed to indirect copyright
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
494
54257447cfe9 Changed to indirect copyright
rgbecker
parents: 253
diff changeset
     1
#copyright ReportLab Inc. 2000
54257447cfe9 Changed to indirect copyright
rgbecker
parents: 253
diff changeset
     2
#see license.txt for license details
54257447cfe9 Changed to indirect copyright
rgbecker
parents: 253
diff changeset
     3
#history http://cvs.sourceforge.net/cgi-bin/cvsweb.cgi/reportlab/demos/odyssey/dodyssey.py?cvsroot=reportlab
54257447cfe9 Changed to indirect copyright
rgbecker
parents: 253
diff changeset
     4
#$Header: /tmp/reportlab/reportlab/demos/odyssey/dodyssey.py,v 1.8 2000/10/25 08:57:44 rgbecker Exp $
54257447cfe9 Changed to indirect copyright
rgbecker
parents: 253
diff changeset
     5
__version__=''' $Id: dodyssey.py,v 1.8 2000/10/25 08:57:44 rgbecker Exp $ '''
194
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
     6
__doc__=''
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
     7
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
     8
#REPORTLAB_TEST_SCRIPT
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
     9
import sys, copy, string, os
253
cfcf8d555a2c Platypus re-organisation
rgbecker
parents: 251
diff changeset
    10
from reportlab.platypus import *
194
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    11
from reportlab.lib.units import inch
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    12
from reportlab.lib.styles import getSampleStyleSheet
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    13
from reportlab.lib.enums import TA_LEFT, TA_RIGHT, TA_CENTER, TA_JUSTIFY
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    14
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    15
styles = getSampleStyleSheet()
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    16
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    17
Title = "The Odyssey"
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    18
Author = "Homer"
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    19
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    20
def myTitlePage(canvas, doc):
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    21
	canvas.saveState()
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    22
	canvas.restoreState()
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    23
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    24
def myLaterPages(canvas, doc):
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    25
	canvas.saveState()
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    26
	canvas.setFont('Times-Roman',9)
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    27
	canvas.drawString(inch, 0.75 * inch, "Page %d" % doc.page)
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    28
	canvas.restoreState()
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    29
	
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    30
def go():
253
cfcf8d555a2c Platypus re-organisation
rgbecker
parents: 251
diff changeset
    31
	doc = BaseDocTemplate('dodyssey.pdf',showBoundary=0)
194
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    32
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    33
	#normal frame as for SimpleFlowDocument
253
cfcf8d555a2c Platypus re-organisation
rgbecker
parents: 251
diff changeset
    34
	frameT = Frame(doc.leftMargin, doc.bottomMargin, doc.width, doc.height, id='normal')
194
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    35
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    36
	#Two Columns
253
cfcf8d555a2c Platypus re-organisation
rgbecker
parents: 251
diff changeset
    37
	frame1 = Frame(doc.leftMargin, doc.bottomMargin, doc.width/2-6, doc.height, id='col1')
cfcf8d555a2c Platypus re-organisation
rgbecker
parents: 251
diff changeset
    38
	frame2 = Frame(doc.leftMargin+doc.width/2+6, doc.bottomMargin, doc.width/2-6,
194
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    39
						doc.height, id='col2')
253
cfcf8d555a2c Platypus re-organisation
rgbecker
parents: 251
diff changeset
    40
	doc.addPageTemplates([PageTemplate(id='First',frames=frameT, onPage=myTitlePage),
cfcf8d555a2c Platypus re-organisation
rgbecker
parents: 251
diff changeset
    41
						PageTemplate(id='OneCol',frames=frameT, onPage=myLaterPages),
cfcf8d555a2c Platypus re-organisation
rgbecker
parents: 251
diff changeset
    42
						PageTemplate(id='TwoCol',frames=[frame1,frame2], onPage=myLaterPages),
194
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    43
						])
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    44
	doc.build(Elements)
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    45
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    46
Elements = []
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    47
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    48
ChapterStyle = copy.deepcopy(styles["Heading1"])
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    49
ChapterStyle.alignment = TA_CENTER
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    50
ChapterStyle.fontsize = 14
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    51
InitialStyle = copy.deepcopy(ChapterStyle)
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    52
InitialStyle.fontsize = 16
203
0e2031146bf5 Title leading changes
rgbecker
parents: 198
diff changeset
    53
InitialStyle.leading = 20
194
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    54
PreStyle = styles["Code"] 
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    55
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    56
def newPage():
253
cfcf8d555a2c Platypus re-organisation
rgbecker
parents: 251
diff changeset
    57
	Elements.append(PageBreak())
194
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    58
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    59
def chapter(txt, style=ChapterStyle):
253
cfcf8d555a2c Platypus re-organisation
rgbecker
parents: 251
diff changeset
    60
	Elements.append(NextPageTemplate('OneCol'))
194
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    61
	newPage()
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    62
	Elements.append(Paragraph(txt, style))
253
cfcf8d555a2c Platypus re-organisation
rgbecker
parents: 251
diff changeset
    63
	Elements.append(Spacer(0.2*inch, 0.3*inch))
203
0e2031146bf5 Title leading changes
rgbecker
parents: 198
diff changeset
    64
	if useTwoCol:
253
cfcf8d555a2c Platypus re-organisation
rgbecker
parents: 251
diff changeset
    65
		Elements.append(NextPageTemplate('TwoCol'))
194
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    66
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    67
def fTitle(txt,style=InitialStyle):
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    68
	Elements.append(Paragraph(txt, style))
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    69
	
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    70
ParaStyle = copy.deepcopy(styles["Normal"])
207
52e4ab91cc16 Fix spacing bugs
rgbecker
parents: 203
diff changeset
    71
ParaStyle.spaceBefore = 0.1*inch
194
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    72
if 'right' in sys.argv:
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    73
	ParaStyle.alignment = TA_RIGHT
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    74
elif 'left' in sys.argv:
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    75
	ParaStyle.alignment = TA_LEFT
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    76
elif 'justify' in sys.argv:
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    77
	ParaStyle.alignment = TA_JUSTIFY
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    78
elif 'center' in sys.argv or 'centre' in sys.argv:
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    79
	ParaStyle.alignment = TA_CENTER
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    80
else:
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    81
	ParaStyle.alignment = TA_JUSTIFY
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    82
203
0e2031146bf5 Title leading changes
rgbecker
parents: 198
diff changeset
    83
useTwoCol = 'notwocol' not in sys.argv 
0e2031146bf5 Title leading changes
rgbecker
parents: 198
diff changeset
    84
194
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    85
def spacer(inches):
253
cfcf8d555a2c Platypus re-organisation
rgbecker
parents: 251
diff changeset
    86
	Elements.append(Spacer(0.1*inch, inches*inch))
194
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    87
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    88
def p(txt, style=ParaStyle):
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    89
	Elements.append(Paragraph(txt, style))
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    90
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    91
firstPre = 1
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    92
def pre(txt, style=PreStyle):
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    93
	global firstPre
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    94
	if firstPre:
253
cfcf8d555a2c Platypus re-organisation
rgbecker
parents: 251
diff changeset
    95
		Elements.append(NextPageTemplate('OneCol'))
194
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    96
		newPage()
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    97
		firstPre = 0
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    98
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
    99
	spacer(0.1)
253
cfcf8d555a2c Platypus re-organisation
rgbecker
parents: 251
diff changeset
   100
	p = Preformatted(txt, style)
194
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   101
	Elements.append(p)
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   102
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   103
def parseOdyssey(fn):
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   104
	from time import time
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   105
	E = []
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   106
	t0=time()
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   107
	L = open(fn,'r').readlines()
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   108
	t1 = time()
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   109
	print "open(%s,'r').readlines() took %.4f seconds" %(fn,t1-t0)
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   110
	for i in xrange(len(L)):
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   111
		if L[i][-1]=='\012':
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   112
			L[i] = L[i][:-1]
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   113
	t2 = time()
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   114
	print "Removing all linefeeds took %.4f seconds" %(t2-t1)
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   115
	L.append('')
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   116
	L.append('-----')
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   117
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   118
	def findNext(L, i):
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   119
		while 1:
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   120
			if string.strip(L[i])=='':
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   121
				del L[i]
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   122
				kind = 1
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   123
				if i<len(L):
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   124
					while string.strip(L[i])=='':
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   125
						del L[i]
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   126
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   127
					if i<len(L):
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   128
						kind = L[i][-1]=='-' and L[i][0]=='-'
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   129
						if kind:
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   130
							del L[i]
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   131
							if i<len(L):
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   132
								while string.strip(L[i])=='':
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   133
									del L[i]
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   134
				break
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   135
			else:
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   136
				i = i + 1
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   137
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   138
		return i, kind
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   139
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   140
	f = s = 0
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   141
	while 1:
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   142
		f, k = findNext(L,0)
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   143
		if k: break
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   144
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   145
	E.append([spacer,2])
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   146
	E.append([fTitle,'<font color=red>%s</font>' % Title, InitialStyle])
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   147
	E.append([fTitle,'<font size=-4>by</font> <font color=green>%s</font>' % Author, InitialStyle])
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   148
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   149
	while 1:
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   150
		if f>=len(L): break
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   151
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   152
		if string.upper(L[f][0:5])=='BOOK ':
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   153
			E.append([chapter,L[f]])
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   154
			f=f+1
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   155
			while string.strip(L[f])=='': del L[f]
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   156
			style = ParaStyle
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   157
			func = p
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   158
		else:
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   159
			style = PreStyle
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   160
			func = pre
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   161
	
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   162
		while 1:
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   163
			s=f
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   164
			f, k=findNext(L,s)
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   165
			sep= (func is pre) and '\012' or ' '
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   166
			E.append([func,string.join(L[s:f],sep),style])
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   167
			if k: break
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   168
	t3 = time()
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   169
	print "Parsing into memory took %.4f seconds" %(t3-t2)
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   170
	del L
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   171
	t4 = time()
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   172
	print "Deleting list of lines took %.4f seconds" %(t4-t3)
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   173
	for i in xrange(len(E)):
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   174
		apply(E[i][0],E[i][1:])
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   175
	t5 = time()
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   176
	print "Moving into platypus took %.4f seconds" %(t5-t4)
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   177
	del E
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   178
	t6 = time()
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   179
	print "Deleting list of actions took %.4f seconds" %(t6-t5)
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   180
	go()
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   181
	t7 = time()
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   182
	print "saving to PDF took %.4f seconds" %(t7-t6)
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   183
	print "Total run took %.4f seconds"%(t7-t0)
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   184
251
6f6cd14069f6 test filename case fix
rgbecker
parents: 227
diff changeset
   185
for fn in ('odyssey.full.txt','odyssey.txt'):
194
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   186
	if os.path.isfile(fn):
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   187
		break
c8e4ffc56ac7 Initial doctemplate version of fodyssey.py
rgbecker
parents:
diff changeset
   188
198
5604fb99b2e7 Added 'if __name__=='__main__'' handlers to demos
andy_robinson
parents: 194
diff changeset
   189
if __name__=='__main__':
5604fb99b2e7 Added 'if __name__=='__main__'' handlers to demos
andy_robinson
parents: 194
diff changeset
   190
	parseOdyssey(fn)