def cmpfunc(item1,item2):
  return cmp(item1["term"].lower(),item2["term"].lower())

interm=0
terms=[]
term={}
fh=file("intergo.dct","r")
cnt=1
for ln in fh.readlines():
  if ln[0]=="#":
    pass
  elif len(ln.strip())==0:
    if interm:
      term["number"]=cnt
      cnt+=1
      terms.append(term)
      term={}
      interm=0
  else:
    if not interm:
      interm=1
    items=ln.split("=",1)
    if len(items)==2:
      [key,value]=items
      value=value.strip()
      key=key.strip()
      if len(value)!=0:
        if term.has_key(key):
          if type(term[key])==type([]):
            term[key].append(value)
          else:
            term[key]=[term[key],value]
        else:
          term[key]=value
fh.close()
header="""
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">

<HTML>
<HEAD>
 <TITLE>%s</TITLE>
 <LINK HREF="style.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#DDDDDD" TEXT="#000000" LINK="#000099" VLINK="#330066" ALINK="#FF0000">
"""
footer="""
</BODY>
</HTML>
"""

termstr="<tr><td class='lang'>%s</td><td class='term'>%s</td></tr>"

fh=file("terms.html","w")
print >>fh,header % "Go terms"
print >>fh,"<h2>Go terms</h2>"
for item in terms:
  print >>fh,"<div class='block'>"
  print >>fh,"<a name='%d'></a>" % item["number"]
  print >>fh,"<table border=0>"
  if item.has_key("JP"):
    if type(item["JP"])==type([]):
      for term in item["JP"]:
        print >>fh,termstr % ("Japanese",term)
    else:
      print >>fh,termstr % ("Japanese",item["JP"])
  if item.has_key("RK"):
    if type(item["RK"])==type([]):
      for term in item["RK"]:
        print >>fh,termstr % ("Korean",term)
    else:
      print >>fh,termstr % ("Korean",item["RK"])
  if item.has_key("CH"):
    if type(item["CH"])==type([]):
      for term in item["CH"]:
        print >>fh,termstr % ("Chinese",term)
    else:
      print >>fh,termstr % ("Chinese",item["CH"])
  print >>fh,"</table>"
  print >>fh,"<p>"
  if item.has_key("GB"):
    if type(item["GB"])==type([]):
      for st in item["GB"]:
        print >>fh,st
    else:
      print >>fh,item["GB"]
  print >>fh,"<p>"
  if item.has_key("GF"):
    if type(item["GF"])==type([]):
      for st in item["GF"]:
        [fname,other]=st.split(" ",1)
        print >>fh,"<p><img src='gif/"+fname+"'>"
    else:
      [fname,other]=item["GF"].split(" ",1)
      print >>fh,"<p><img src='gif/"+fname+"'>"
  print >>fh,"<p>"
  if item.has_key("CP"):
    if type(item["CP"])==type([]):
      for st in item["CP"]:
        print >>fh,st
    else:    
      print >>fh,"<p>"+item["CP"]
  print >>fh,"<p>"
  if item.has_key("RF"):
    if type(item["RF"])==type([]):
      for st in item["RF"]:
        print >>fh,"<p><a href='%s'>%s</a>" % (st,st)
    else:
      print >>fh,"<a href='%s'>%s</a><br>" % (item["RF"],item["RF"])
  print >>fh,"</div>"
print >>fh,footer
fh.close()

fh=file("index.html","w")
print >>fh, header % "Go term dictionary"
print >>fh, """
<h2>Go term dictionary</h2>
<ul>
  <li><a href='japan.html'>Japanese</a></li>
  <li><a href='korea.html'>Korean</a></li>
  <li><a href='china.html'>Chinese</a></li>
</ul>
"""
print >>fh, footer
fh.close()

links=[]
for term in terms:
  if term.has_key("JP"):
    if type(term["JP"])==type([]):
      for val in term["JP"]:
        link={"number":term["number"],"cat":term["CD"][0],"term":val}
        links.append(link)
    else:
      link={"number":term["number"],"cat":term["CD"][0],"term":term["JP"]}
      links.append(link)
links.sort(cmpfunc)


fh=file("japan.html","w")
print >>fh, header % "Japanese go terms"
print >>fh, "<h2>Japanese go terms</h2>"
print >>fh, "<h4>Championships</h4>"
print >>fh, "<ul>"
for link in links:
  if link["cat"]=="c":
    print >>fh,"<li><a href='terms.html#%(number)d'>%(term)s</a></li>" % link
print >>fh, "</ul>"
print >>fh, "<h4>Names</h4>"
print >>fh, "<ul>"
for link in links:
  if link["cat"]=="n":
    print >>fh,"<li><a href='terms.html#%(number)d'>%(term)s</a></li>" % link
print >>fh, "</ul>"
print >>fh, "<h4>Digits</h4>"
print >>fh, "<ul>"
for link in links:
  if link["cat"]=="d":
    print >>fh,"<li><a href='terms.html#%(number)d'>%(term)s</a></li>" % link
print >>fh, "</ul>"
print >>fh, "<h4>Polite</h4>"
print >>fh, "<ul>"
for link in links:
  if link["cat"]=="p":
    print >>fh,"<li><a href='terms.html#%(number)d'>%(term)s</a></li>" % link
print >>fh, "</ul>"
print >>fh, "<h4>Technical</h4>"
print >>fh, "<ul>"
for link in links:
  if link["cat"]=="t":
    print >>fh,"<li><a href='terms.html#%(number)d'>%(term)s</a></li>" % link
print >>fh, "</ul>"
print >>fh, footer
fh.close()

links=[]
for term in terms:
  if term.has_key("RK"):
    if type(term["RK"])==type([]):
      for val in term["RK"]:
        link={"number":term["number"],"cat":term["CD"][0],"term":val}
        links.append(link)
    else:
      link={"number":term["number"],"cat":term["CD"][0],"term":term["RK"]}
      links.append(link)
links.sort(cmpfunc)


fh=file("korea.html","w")
print >>fh, header % "Korean go terms"
print >>fh, "<h2>Korean go terms</h2>"
print >>fh, "<h4>Championships</h4>"
print >>fh, "<ul>"
for link in links:
  if link["cat"]=="c":
    print >>fh,"<li><a href='terms.html#%(number)d'>%(term)s</a></li>" % link
print >>fh, "</ul>"
print >>fh, "<h4>Names</h4>"
print >>fh, "<ul>"
for link in links:
  if link["cat"]=="n":
    print >>fh,"<li><a href='terms.html#%(number)d'>%(term)s</a></li>" % link
print >>fh, "</ul>"
print >>fh, "<h4>Digits</h4>"
print >>fh, "<ul>"
for link in links:
  if link["cat"]=="d":
    print >>fh,"<li><a href='terms.html#%(number)d'>%(term)s</a></li>" % link
print >>fh, "</ul>"
print >>fh, "<h4>Polite</h4>"
print >>fh, "<ul>"
for link in links:
  if link["cat"]=="p":
    print >>fh,"<li><a href='terms.html#%(number)d'>%(term)s</a></li>" % link
print >>fh, "</ul>"
print >>fh, "<h4>Technical</h4>"
print >>fh, "<ul>"
for link in links:
  if link["cat"]=="t":
    print >>fh,"<li><a href='terms.html#%(number)d'>%(term)s</a></li>" % link
print >>fh, "</ul>"
print >>fh, footer
fh.close()

links=[]
for term in terms:
  if term.has_key("CH"):
    if type(term["CH"])==type([]):
      for val in term["CH"]:
        link={"number":term["number"],"cat":term["CD"][0],"term":val}
        links.append(link)
    else:
      link={"number":term["number"],"cat":term["CD"][0],"term":term["CH"]}
      links.append(link)
links.sort(cmpfunc)


fh=file("china.html","w")
print >>fh, header % "Chinese go terms"
print >>fh, "<h2>Chinese go terms</h2>"
print >>fh, "<h4>Championships</h4>"
print >>fh, "<ul>"
for link in links:
  if link["cat"]=="c":
    print >>fh,"<li><a href='terms.html#%(number)d'>%(term)s</a></li>" % link
print >>fh, "</ul>"
print >>fh, "<h4>Names</h4>"
print >>fh, "<ul>"
for link in links:
  if link["cat"]=="n":
    print >>fh,"<li><a href='terms.html#%(number)d'>%(term)s</a></li>" % link
print >>fh, "</ul>"
print >>fh, "<h4>Digits</h4>"
print >>fh, "<ul>"
for link in links:
  if link["cat"]=="d":
    print >>fh,"<li><a href='terms.html#%(number)d'>%(term)s</a></li>" % link
print >>fh, "</ul>"
print >>fh, "<h4>Polite</h4>"
print >>fh, "<ul>"
for link in links:
  if link["cat"]=="p":
    print >>fh,"<li><a href='terms.html#%(number)d'>%(term)s</a></li>" % link
print >>fh, "</ul>"
print >>fh, "<h4>Technical</h4>"
print >>fh, "<ul>"
for link in links:
  if link["cat"]=="t":
    print >>fh,"<li><a href='terms.html#%(number)d'>%(term)s</a></li>" % link
print >>fh, "</ul>"
print >>fh, footer
fh.close()

fh=file("style.css","w")
print >>fh,"""
.block { border: thin solid black; 
         margin: 1em;
         padding: 1em
       }
.term  { font-weight: bold; }
.lang  { color: brown; 
         font-style: italic;
         font-weight: bold;
       }
"""
fh.close()