#!/usr/bin/env python '''gets a latex2html file and returns the file with a css tag and stuff''' import string import sys import re def writeFile(data, filename): """ write data to the given filename @param filename String : name of file to write to """ try: f = open(filename,"w")#oeffnen und schliessen => f.close() #datei ist jetzt genullt f = open(filename,"a") #anhaengend oeffnen f.write(data) f.close() return "" except: print "(WW)[%s]: \"%s\" is not writeable!"%(__name__, filename) return filename ### start of code try: f=open(sys.argv[1],"r") content=f.read() f.close() # zu_manipulierende_variable=string.replace(zu_manipulierende_variable,alter_string,neuer_string) # recently switched to latex2html, now cutting of headers # dieser abschnitt muss ueberarbeitet werden! startoffset=string.find(content,"<HR>\n<ADDRESS>") endoffset=string.find(content,"</ADDRESS>",startoffset)+len("</ADDRESS>") if (startoffset >10) and (endoffset>startoffset): footer=content[startoffset:endoffset] content=string.replace(content,footer,"") #put whole content into div tags content = string.replace(content,"<BR><HR>\n\n</BODY>",'</div>') content = string.replace(content,"</HTML>",'<!-- end of main -->') #remove empty image subtitles content = string.replace(content,"<STRONG>Abbildung:</STRONG>","") #Bereich "author_info": Entfernen der Formatierung startoffset=string.find(content,'<DIV CLASS="author_info"') endoffset=string.find(content,"</STRONG>",startoffset)+len("</STRONG>") if (startoffset >10) and (endoffset>startoffset): content=string.replace(content,'<P ALIGN="CENTER">',"<P>") content=string.replace(content,"<STRONG>","") content=string.replace(content,"</STRONG>","") #TOC formatieren - Der Abschnitt <A NAME="SECTION00001000000000000000"> muss noch allgemeiner werden content = string.replace(content,'<BR>\n\n<H2><A NAME="SECTION00001000000000000000">\nInhalt</A>\n</H2>\n<!--Table of Contents-->','\n<div id="toc">\n<div id="toctitle">Auf dieser Seite:</div>') content = string.replace(content,"<!--End of Table of Contents-->","</div>") # replace "./filename.png" references with "filename.png" # (this avoids validation warnings) content = string.replace(content,'HREF="./','HREF="') # Fussnoten finden und Ende ersetzen fussnoten = string.find(content,"<BR><HR><H4>Fußnoten</H4>") startoffset = string.find(content,"</DL>",fussnoten) endoffset = startoffset + len("</DL>") if startoffset > 10 and endoffset > 10: content = content[:startoffset] + "</DL>\n</div>" + content[endoffset:] # Linie vor Fussnoten wird entfernt # Fussnoten bekommen id, damit sie per css formatierbar sind content = string.replace(content,'<HR><H4>Fußnoten</H4>','\n<div id="footnotes">\n<div id="fntitle">Fußnoten</div>') # Sonderzeichen in Fussnoten werden ersetzt (Hotfix fuer einen latex2html-Bug) content = string.replace(content,'�','ä') content = string.replace(content,'�','Ä') content = string.replace(content,'�','ö') content = string.replace(content,'�','Ö') content = string.replace(content,'�','ü') content = string.replace(content,'�','Ü') content = string.replace(content,'�','ß') # externe Links innerhalb von <div id="main"> erhalten eine class content = string.replace(content,'HREF="http:','class="externalLink" href="http:') content = string.replace(content,'HREF="https:','class="externalLink" href="https:') #all done, writing tuned files writeFile(content,sys.argv[1]) except: #read/write/whatever failed, # BOESE: unklare Fehlerbehandlung print "an defined error occured - but i'm too lame to fix that" print "usage:",sys.argv[0],"<file_to_modify>" sys.exit(1) sys.exit(0)