示例#1
0
	def WriteProg(PR, P):
		"""
		Write a page for a given program
		@param PR: The name of the program to write the page for
		@type PR: str
		@param P: An instance of the Parameters class
		@type P: Parameters object
		"""
	
	
		PROGFN = PR.name + '.html'
		PROGPAGEFILE = open(PROGFN, 'w')
		H = HTMLWriter ()
		H.start_page(PROGPAGEFILE, PR.name)
	
		# Program information is in a table.
#		ATTRIBUTES = ' style="border: 1px solid";'
   		ATTRIBUTES = ' style="font-family: helvetica,arial,sans-serif;"'
	 	H.start(PROGPAGEFILE, 'table', ATTRIBUTES)
	  	ATTRIBUTES = ''
	   	H.start(PROGPAGEFILE, 'tr', ATTRIBUTES)

	 	# Title row
	  	ATTRIBUTES = ''
	   	H.start(PROGPAGEFILE, 'tr', ATTRIBUTES)
		ATTRIBUTES = ' colspan="2" rowspan="1" style= "background-color: rgb(51, 255, 51);"'
		H.start(PROGPAGEFILE, 'td', ATTRIBUTES)
	 	ATTRIBUTES = ''
	  	H.start(PROGPAGEFILE, 'big', ATTRIBUTES)
	   	PROGPAGEFILE.write(PR.name + ' - ' + PR.description)
		H.end(PROGPAGEFILE, 'big')
	 	H.end(PROGPAGEFILE, 'td')
	  	H.end(PROGPAGEFILE, 'tr')

	 	# Command rows - title row is 1 column, other rows are 2 columns
	  	ATTRIBUTES = ''
	   	H.start(PROGPAGEFILE, 'tr', ATTRIBUTES)
		ATTRIBUTES = ' colspan="2" rowspan="1" style= "background-color: rgb(204, 204, 204);"'
	 	H.start(PROGPAGEFILE, 'td', ATTRIBUTES)
	  	ATTRIBUTES = ''
	   	H.start(PROGPAGEFILE, 'big', ATTRIBUTES)
		URL = '../Doc_definitions.html#Launching'
	 	TEXT = 	'Launching the program'
	  	ATTRIBUTES = 'target="FrameWindow"'
	   	H.link(PROGPAGEFILE, URL, ATTRIBUTES, TEXT)
	
	 	H.end(PROGPAGEFILE, 'big')
	  	H.end(PROGPAGEFILE, 'td')
	   	H.end(PROGPAGEFILE, 'tr')
		
			

	 	for COMMAND in PR.interface:
			ATTRIBUTES = ''
			#print("Trying to write: "+PROGPAGEFILE.name+" file is closed="+str(PROGPAGEFILE.closed))
		 	H.start(PROGPAGEFILE, 'tr', ATTRIBUTES)
		  	ATTRIBUTES = ' border="0" colspan="1" rowspan="1" style= "background-color: rgb(255, 255, 255);"'
		   	H.start(PROGPAGEFILE, 'td', ATTRIBUTES)
			H.indent_text(PROGPAGEFILE, COMMAND[0])
		 	H.end(PROGPAGEFILE, 'td')
		  	ATTRIBUTES = ' border="0" colspan="1" rowspan="1" style= "background-color: rgb(255, 255, 255);"'
		   	H.start(PROGPAGEFILE, 'td', ATTRIBUTES)
			ATTRIBUTES = ' face="Courier New,Courier"'
		 	H.start(PROGPAGEFILE, 'font', ATTRIBUTES)
		  	PROGPAGEFILE.write(COMMAND[1])
		   	H.end(PROGPAGEFILE, 'font')
			H.end(PROGPAGEFILE, 'td')
		 	H.end(PROGPAGEFILE, 'tr')


	   	# Documentation rows
		DocRows(PROGPAGEFILE, H, 'Documentation', PR.doc, DOCDICT, P)

	   	# Datafile rows
		DocRows(PROGPAGEFILE, H, 'Data', PR.data, DOCDICT, P)

	   	# Sample input rows
		DocRows(PROGPAGEFILE, H, 'Sample input', PR.sampleinput, DOCDICT, P)

   	   	# Sample output rows
	  	DocRows(PROGPAGEFILE, H, 'Sample output', PR.sampleoutput, DOCDICT, P)


   	   	# Package row
	   	ATTRIBUTES = ''
   		H.start(PROGPAGEFILE, 'tr', ATTRIBUTES)
	   	ATTRIBUTES = ' colspan="2" rowspan="1" style= "background-color: rgb(204, 204, 204);"'
		H.start(PROGPAGEFILE, 'td', ATTRIBUTES)
		ATTRIBUTES = ''
	  	H.start(PROGPAGEFILE, 'big', ATTRIBUTES)
		URL = '../Doc_definitions.html#Package'
		TEXT = 	'Package'
	  	ATTRIBUTES = 'target="FrameWindow"'
		H.link(PROGPAGEFILE, URL, ATTRIBUTES, TEXT)
		PROGPAGEFILE.write(': ')
	  	H.end(PROGPAGEFILE, 'big')
		URL = '../package/' + PR.package + '.html'
		TEXT = PR.package
	  	H.link(PROGPAGEFILE, URL, '', TEXT)
   		H.end(PROGPAGEFILE, 'td')
	   	H.end(PROGPAGEFILE, 'tr')

	   	# Platform row
		ATTRIBUTES = ''
		H.start(PROGPAGEFILE, 'tr', ATTRIBUTES)
	  	ATTRIBUTES = ' colspan="2" rowspan="1" style= "background-color: rgb(204, 204, 204);"'
		H.start(PROGPAGEFILE, 'td', ATTRIBUTES)
		ATTRIBUTES = ''
	  	H.start(PROGPAGEFILE, 'big', ATTRIBUTES)
		URL = '../Doc_definitions.html#Platforms'
		TEXT = 	'Platforms'
	  	ATTRIBUTES = 'target="FrameWindow"'
		H.link(PROGPAGEFILE, URL, ATTRIBUTES, TEXT)
		PROGPAGEFILE.write(': ')
	  	H.end(PROGPAGEFILE, 'big')
		I = 0
		for PLAT in PR.platform:
			PROGPAGEFILE.write(PLAT)
		  	I = I + 1
			if I < len(PR.platform):
			  	PROGPAGEFILE.write(', ')
		H.end(PROGPAGEFILE, 'td')
	  	H.end(PROGPAGEFILE, 'tr')
	
		H.end(PROGPAGEFILE, 'table')
	  	H.end_page(PROGPAGEFILE)
		PROGPAGEFILE.close()
		os.chmod(PROGFN, 0644)