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)