示例#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)
示例#2
0
		def writecat(c):
			"""
			 FIXME
			 @param c:
			 @type c:
			 """
			"write a page for a given category"
			
			catfn = c.name + '.html'
			catpagefile = open(catfn, 'w')
			h = HTMLWriter ()
			h.start_page(catpagefile, 'category: ' + c.name)
			h.start(catpagefile, 'hr', '')
			h.start(catpagefile, 'h1', '')
			catpagefile.write('programs:')
			h.end(catpagefile, 'h1')
			h.start(catpagefile, 'ul', '')
			c.program.sort(key=HT.cmp_to_key(lambda x, y: cmp(x.lower(), y.lower())))
			for pname in c.program:
				h.start(catpagefile, 'li', '')
				url = '../program/' + pname + '.html'
				#print("Progdict length:"+str(len(PROGDICT)))
				text = pname + ' - ' + PROGDICT[pname].description + '\n'
				h.link(catpagefile, url, '', text)
				h.end(catpagefile, 'li')
			h.end(catpagefile, 'ul')
			h.end_page(catpagefile)
			catpagefile.close()
			os.chmod(catfn, 0644)
示例#3
0
	def WritePkg(PK):
		"""
		Write a page for a given package
		@param PK: The name of the package
		@type PK: str
		"""
	
		PKGFN = PK.name + '.html'
		PKGPAGEFILE = open(PKGFN, 'w')
		H = HTMLWriter ()
		H.start_page(PKGPAGEFILE, 'Package: ' + PK.name)

	# Program information is in a table.
#	ATTRIBUTES = ' style="border: 1px solid";'
		ATTRIBUTES = ' style="font-family: helvetica,arial,sans-serif;"'
		H.start(PKGPAGEFILE, 'table', ATTRIBUTES)
		ATTRIBUTES = ''
		H.start(PKGPAGEFILE, 'tr', ATTRIBUTES)

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


	# Documentation rows
		DocRows(PKGPAGEFILE, H, 'Documentation', PK.doc, DOCDICT, P)

	# Datafile rows
		DocRows(PKGPAGEFILE, H, 'Data', PK.data, DOCDICT, P)


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

				# Installation row
		ATTRIBUTES = ''
		H.start(PKGPAGEFILE, 'tr', ATTRIBUTES)
		ATTRIBUTES = ' colspan="2" rowspan="1" style= "background-color: rgb(204, 204, 204);"'
		H.start(PKGPAGEFILE, 'td', ATTRIBUTES)
		ATTRIBUTES = ''
		H.start(PKGPAGEFILE, 'big', ATTRIBUTES)
		URL = '../Doc_definitions.html#Installation'
		TEXT = 	'Installation'
		ATTRIBUTES = 'target="FrameWindow"'
		H.link(PKGPAGEFILE, URL, ATTRIBUTES, TEXT)
		PKGPAGEFILE.write(': ')
	
		H.end(PKGPAGEFILE, 'big')
		I = 0
		for INST in PK.installation:
			PKGPAGEFILE.write(INST)
			I = I + 1
			if I < len(PK.installation):
				PKGPAGEFILE.write(', ')
		H.end(PKGPAGEFILE, 'td')
		H.end(PKGPAGEFILE, 'tr')

		# Program rows
		ATTRIBUTES = ''
		H.start(PKGPAGEFILE, 'tr', ATTRIBUTES)
		ATTRIBUTES = ' colspan="2" rowspan="1" style= "background-color: rgb(204, 204, 204);"'
		H.start(PKGPAGEFILE, 'td', ATTRIBUTES)
		ATTRIBUTES = ''
		H.start(PKGPAGEFILE, 'big', ATTRIBUTES)
		URL = '../Doc_definitions.html#Programs'
		TEXT = 	'Programs'
		ATTRIBUTES = 'target="FrameWindow"'
		H.link(PKGPAGEFILE, URL, ATTRIBUTES, TEXT)
		PKGPAGEFILE.write(': ')
	
		H.end(PKGPAGEFILE, 'big')
		H.end(PKGPAGEFILE, 'td')
		H.end(PKGPAGEFILE, 'tr')
	
		ATTRIBUTES = ''
		H.start(PKGPAGEFILE, 'tr', ATTRIBUTES)
		ATTRIBUTES = ' colspan="2" rowspan="1" style= "background-color: rgb(255, 255, 255);"'
		H.start(PKGPAGEFILE, 'td', ATTRIBUTES)
		H.start(PKGPAGEFILE, 'ul', '')
		PK.program.sort(key=HT.cmp_to_key(lambda x, y: cmp(x.lower(), y.lower())))
		for PNAME in PK.program:
			H.start(PKGPAGEFILE, 'li', '')
			URL = '../program/' + PNAME + '.html'
			TEXT = PNAME + ' - ' + PROGDICT[PNAME].description + '\n'
			H.link(PKGPAGEFILE, URL, '', TEXT)
			H.end(PKGPAGEFILE, 'li')
		H.end(PKGPAGEFILE, 'ul')
		H.end(PKGPAGEFILE, 'td')
		H.end(PKGPAGEFILE, 'tr')
		H.end(PKGPAGEFILE, 'table')

		H.end_page(PKGPAGEFILE)
		PKGPAGEFILE.close()
		os.chmod(PKGFN, 0644)
示例#4
0
def write_category_page(catfn):
		"""
	 		FIXME
	 		@param catfn:
	 		@type catfn:
	 		"""
		"write html page listing program categories."

# -   -   -   -   -   -   -   -   -   -   -
		def writecat(c):
			"""
			 FIXME
			 @param c:
			 @type c:
			 """
			"write a page for a given category"
			
			catfn = c.name + '.html'
			catpagefile = open(catfn, 'w')
			h = HTMLWriter ()
			h.start_page(catpagefile, 'category: ' + c.name)
			h.start(catpagefile, 'hr', '')
			h.start(catpagefile, 'h1', '')
			catpagefile.write('programs:')
			h.end(catpagefile, 'h1')
			h.start(catpagefile, 'ul', '')
			c.program.sort(key=HT.cmp_to_key(lambda x, y: cmp(x.lower(), y.lower())))
			for pname in c.program:
				h.start(catpagefile, 'li', '')
				url = '../program/' + pname + '.html'
				#print("Progdict length:"+str(len(PROGDICT)))
				text = pname + ' - ' + PROGDICT[pname].description + '\n'
				h.link(catpagefile, url, '', text)
				h.end(catpagefile, 'li')
			h.end(catpagefile, 'ul')
			h.end_page(catpagefile)
			catpagefile.close()
			os.chmod(catfn, 0644)


		catfile = open(catfn, 'w')
		h = HTMLWriter ()
		h.start_page(catfile, 'programs by category')
		h.start(catfile, 'hr', '')
		h.start(catfile, 'br', '')

	# for each category, write an html page containing
	# a list of programs in that category
		h.start(catfile, 'ul', '')
		catlist = CATDICT.keys()
		catlist.sort(key=HT.cmp_to_key(lambda x, y: cmp(x.lower(), y.lower())))
		for catkey in catlist:
			c = CATDICT[catkey]
			writecat(c)
			h.start(catfile, 'li', '')
			url = c.name + '.html'
			text = c.name + '\n'
			h.link(catfile, url, '', text)
			h.end(catfile, 'li')
		h.end(catfile, 'ul')
		h.end_page(catfile)
		catfile.close()
		os.chmod(catfn, 0644)