1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
|
#line 26 "interscript/src/pass_frame.ipk"
import string
import traceback
import sys
import interscript
from interscript.drivers.sources import source_open_error
from interscript.drivers.sources.disk import named_file_source
from interscript.drivers.sources.base import eoi
from interscript.frames.inputf import input_frame
from interscript.weavers.auto import auto_weaver
from interscript.drivers.sources.base import eoi
from interscript.parsers.html import sgml_wrapper, html_filter
class pass_frame:
def __init__(self,master, passno, skiplist):
self.skiplist = skiplist
# the display
self.master = master
self.process = master.process
if 'frames' in self.process.trace:
self.process.acquire_object(self, 'PASS FRAME')
self.passno = passno
self.autoweave = master.autoweave
self.inhibit_sref = master.inhibit_sref
self.ids = {}
self.flist = []
self.fdict = {}
self.iflist = []
self.toc = []
self.include_files = []
self.classes = {}
self.functions = {}
self.testno = 0
self.sequence = 0
self.tests = {}
self.section_index = {}
self.ftp_list = []
if 'weavers' in self.process.trace:
print 'Autoweave',self.autoweave
file = self.master.filename
encoding = self.master.encoding
encoding = string.replace(string.lower(encoding),'-','_')
if 'frames' in self.process.trace:
print 'Processing',file,'Pass',passno+1,'Encoding',encoding
#line 81 "interscript/src/pass_frame.ipk"
basename = file
if string.find(file,'.') != -1:
basename = string.join(string.split(file,'.')[:-1],'.')
weaver = auto_weaver(self, basename, self.autoweave, master.title)
userdict = { }
try:
input_file =named_file_source(self,file, self.master.source_prefix, encoding = encoding)
except source_open_error, filename:
print 'Cannot Open File',filename,'for input (ignored)'
raise
except KeyboardError:
raise
except:
print "Program error opening",file
traceback.print_exc()
raise
self.include_files.append((1,'interscript',file))
inpt = input_frame(
self,
input_file,
[],
weaver,
userdict,
1)
del input_file
del weaver
del userdict
inpt.set_warning_character(python='@')
if 'input' in self.process.trace:
print 'input from',inpt.source.get_source_name()
inpt.file_pass()
# at this point, inpt, weaver, userdict, input_file
# should all be released (even if 'pass_frame' is held onto,
# these symbols are defined in the __init__ function frame)
del inpt
try: raise eoi
except: pass
def __del__(self):
if 'frames' in self.process.trace:
print 'Processing of',self.master.filename,'Pass',self.passno+1,'complete'
self.process.release_object(self)
def get_pass_frame(self):
"Get the current pass frame"
return self
def get_new_test_number(self):
"Get a new test case number"
self.testno = self.testno + 1
return self.testno
def get_new_sequence_number(self):
"Get a new serial number"
self.sequence = self.sequence + 1
return self.sequence
|