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)
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)
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)
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)