a="alle3.csv"
q=1


n=7

disp=[["60m Sprint","a",-6," Zeit[sek]"],["Weitsprung","b",7,"Weite[m]"],
      ["Schlagball","c",8,"Weite[m]"],["484-Meterlauf","d",-9,"[min:sec]"]
      ,["Mehrkampf","g",10,"[Pt]"]]
# Spalte "-" weniger ist mehr wert

stufen=[1,2,3,4]
klassen=["1a","1b","1c","2a","2b","2c","3a","3b","3c","4a","4b","4c"]
geschlecht=["m","w"]
w=[]
print("1.2")

def strconv(x):
   y=x
  
   
   y=y.replace(",",".").strip()
   return y  

def oprint(x):
    #print(x)
    #x=x.replace("ö","&ouml;")
    out.write(x+"<br>\n")

def gesa(x):
  if x=="w":
    return "weiblich"
  else:
    return "m&auml;nnlich"


#f=open(a,"r", encoding="cp850") # ja leider beim MS-DOS-Export
#
f=open(a,"r", encoding="UTF-8")
for u in f:
    z=u
    g=z.split(";")
    w.append(g)

# alle
feld=[]

###########################
# 3c1;3C;Geyrhofer;Gabriel;m;;10,32;3,1;;;156,43;156,4

stst=[[1000,"aa"],[10,"a"],[7,""]]
for sts in stst:
  ng=sts[1];grenze=sts[0]
  for stuf in stufen:
   stufe=str(stuf)  
   # Klassenstufenweise
   #oprint(stufe+". KLASSE")
   allli=["1","2","3","4","5","6","7"]
   for disci in disp:  # Disziplin - eine eigene 
      fnn=disci[1]+ng+stufe+".htm"
      out=open(fnn,"w",encoding="UTF-8")
      out.write('<html><meta charset="UTF-8"><body>') 

      for gesch in geschlecht:
         rr=[]   
         rs=""
         oprint("<br>=========================<br>\n")
         oprint("<b>DISZIPLIN: "+disci[0]+"  "+stufe+". KLASSE "+gesa(gesch)+"</b><br> <br>")
         oprint("<i>&emsp;Platz &emsp;"+disci[3]+" &emsp;  Klasse &emsp; Name</i>")
         
         for i in range(2,len(w)):
           zz=w[i][0]   
           if len(zz)>2:
             if zz[0]==stufe and w[i][4]== gesch:      
                ww=(w[i][abs(disci[2])]); ww=strconv(ww);
                
                if len(ww)>=2 or ww in allli:
 
                  if disci[1]=="a" or disci[1]=="c":
                     
                     ww="{0:02.2f}".format(float(ww)+100)[1:]
                     # print(ww)
                     rs=ww+"&emsp;&emsp; "+w[i][1]+"&emsp;&emsp; "+w[i][3].upper()+" "+w[i][2].upper()
                  else:
                    if disci[1]=="b":
                      ww="{0:1.2f}".format(float(ww)+100)[2:]
                     # print(ww)
                      rs=ww+"&emsp;&emsp; "+w[i][1]+"&emsp;&emsp; "+w[i][3].upper()+" "+w[i][2].upper()
                    else:
                       rs=str(ww)+"&emsp;&emsp; "+w[i][1]+"&emsp;&emsp; "+w[i][3].upper()+" "+w[i][2].upper()
                       if disci[1]=="g":
                          ww="{0:02.2f}".format(float(ww)+10000)[1:]
                          rs=str(ww)+"&emsp;&emsp; "+w[i][1]+"&emsp;&emsp; "+w[i][3].upper()+" "+w[i][2].upper()


                       
                  #ww=1000+int(float(ww))
                  
                  rr.append(rs);
         # print(rs)
         if disci[2]>0:
           rr=sorted(rr,reverse=True)
         else:
           rr=sorted(rr)
         qq1=0;qqa=""
         for iii in rr:
           qq1=qq1+1;qw="{:>02}".format(qq1)
           if qq1<=grenze:
            if iii[:5]==qqa:  
               pass
            else:
               qw1=qw
            qqa=iii[:5]   
            oprint("&emsp; &emsp;"+qw1+"&emsp;&emsp; "+iii)
         oprint("<br><br>\n")
      out.write("</body></html>")
      out.close()




print("Fertig")
#quit()
#########################  MEHRKAMPF  #############################################
if q==1:
  out=open("alle.htm","w", encoding="UTF-8")
else:
   out=open("out1.html","a")
out.write("<html><body>\n")
out.write("Ergebnisse ermittelt mittels PROGRAMM\n")


out.write("GESAMT - 4-KAMPF NEU")
for stuf in stufen:
 stufe=str(stuf)  
 # Klassenstufenweise
 #oprint(stufe+". KLASSE")
 for gesch in geschlecht:
  rr=[]   
  #
  oprint("=========================<br>\n") 
  oprint(stufe+". KLASSE "+gesa(gesch)+"<br>\n")
  for i in range(2,len(w)):
   zz=w[i][0]   
   if len(zz)>2:
    #print(zz[0],stuf,w[i][4],gesch,sep="")
    if zz[0]==stufe and w[i][4]== gesch:      
     
       rt=w[i][5]+" "+w[i][6]+" "+w[i][7]+" "+w[i][8]+" "+w[i][9]+")"
       bwert=0;cwert="";awert=0
       # 60m
       #print(rt)
       if w[i][6]=="":
          w[i][6]="0,0"
       wert=float(strconv(w[i][6]))
       
       if wert==0:
          awert=0
       else:
          wert=min(11.5,wert)
          
          awert=58.015*(11.5-wert)**1.81
       cwert="neu: "+str(awert)+" "
       #print(cwert)
       #WEITSPRUNG
       bwert=bwert+awert
       if w[i][7]=="":
          w[i][7]="0,0"
       wert=float(strconv(w[i][7]))
       
       if wert==0:
          awert=0
       else:
          #wert=max(-200,100*wert-200)
          awert=0.14354*max(-200,(100*wert-200))**1.4
       cwert=cwert+" "+str(awert)
       bwert=bwert+awert
       #SCHLAGBALL
       #print("e",w[i][8])
       if w[i][8]=="":
          w[i][8]="0,0"
       
       wert=float(strconv(w[i][8]))
       awert=11*wert
       cwert=cwert+" "+str(awert)
       bwert=bwert+awert
       
       # 900m
       #print(w[i][9])
       if w[i][9]=="":
          w[i][9]="00:00,0"
       
       mi=w[i][9][:2]
       sec=float(strconv(w[i][9][3:]))
       wert=float(mi)*60+sec
       if wert==0:
         awert=0
       else:
         awert=0.087*(183-min(183,wert))**1.83
       cwert=cwert+" "+str(awert)
       
       bwert=bwert+awert
       #oprint(cwert);#print(bwert);#print(awert)               
       
       #ww=(w[i][11]); ww=strconv(ww);
       bwert=bwert.real+1000
       ww="{0:5.2f}".format(bwert)
       #rs=str(ww)+"\t "+w[i][1]+"\t "+w[i][2]+" "+w[i][3]+"\t ("+rt+" "+str(bwert)+" ("+cwert+")"
       #rs=ww+"&emsp;&emsp;  "+w[i][1]+"&emsp;&emsp;  "+w[i][2]+" "+w[i][3]+"&emsp;&emsp;  ("+rt+") &emsp;  XLS:"+w[i][11]
       rs=ww+"&emsp;&emsp;  "+w[i][1]+"&emsp;&emsp;  <small>"+w[i][3].upper()+" </small>"+w[i][2].upper()+"&emsp;&emsp;  ("+rt
       rr.append(rs)
       # print(rs)
   rr=sorted(rr,reverse=True)
   qq1=0
  for iii in rr:
      qq1=qq1+1;qw="{:>02}".format(qq1)
      oprint("&emsp;&emsp; "+qw+"&emsp;&emsp;  "+iii)

out.write("</body></html>")
out.close()

######################################################  ENDE  ###################################################
#----------------------
    
                 #neue Auswertung
quit()
for sts in stst:
  ng=sts[1];grenze=sts[0]
  for stuf in stufen:
   stufe=str(stuf)  
   # Klassenstufenweise
   #oprint(stufe+". KLASSE")
   fnn="e"+ng+stufe+".htm"
   out=open(fnn,"w")
   for gesch in geschlecht:
         rr=[]   
         rs=""
         oprint("<br>=========================<br>\n")
         oprint("<b>DISZIPLIN: 4-KAMPF "+stufe+". KLASSE "+gesa(gesch)+"</b><br> <br>")
         oprint("&emsp;Platz &emsp; PUNKTE &emsp;  Klasse &emsp; Name")
         for i in range(2,len(w)):
           zz=w[i][0]   
           if len(zz)>2:
             bwert=0;awert=0;wert=0
             wert=float(w[i][9])   #!
             awert=0.087*(183-min([183,wert]))**1,83
             bwert=bwert+awert
             if zz[0]==stufe and w[i][4]== gesch:      
                ww=(w[i][abs(disci[2])]); ww=strconv(ww);
                if len(ww)>1:
                  if disci[1]=="a" or disci[1]=="c":
                     
                     ww="{0:02.2f}".format(float(ww)+100)[1:]
                     # print(ww)
                     rs=ww+"&emsp;&emsp; "+w[i][1]+"&emsp;&emsp; "+w[i][3].upper()+" "+w[i][2].upper()
                  else:
                    if disci[1]=="b":
                      ww="{0:1.2f}".format(float(ww)+100)[2:]
                     # print(ww)
                      rs=ww+"&emsp;&emsp; "+w[i][1]+"&emsp;&emsp; "+w[i][3].upper()+" "+w[i][2].upper()
                    else:
                       rs=str(ww)+"&emsp;&emsp; "+w[i][1]+"&emsp;&emsp; "+w[i][3].upper()+" "+w[i][2].upper()
                  #ww=1000+int(float(ww))



#---------------------
                          
# FORMELN
# 900m
#if wert==0:
#  awert=0
#else:
#   awert=0.087*(183-min([183,wert])**1,83
#               
# 60m
#if wert==0:
#  awert=0
#else:
#   awert=58.015*(11.5-max([11.5,wert])**1,81
#
#WEITSPRUNG
#awert=0,14354*-max([-200,(100*wert-200)])**1,4
#
#SCHLAGBALL
#awert=11*wert
#disp=[["60-Meterlauf","a",-6," Zeit[sek]"],["Weitsprung","b",7,"Weite[m]"],["Schlagball","c",8,"Weite[m]"],["570-Meterlauf","d",-9,"[min:sec]"],["4Kampf","e",11,"Punkte"]]
if q==1:
  out=open("out.html","w")
else:
   out=open("out.html","a")
out.write("<html><body>\n")
out.write("Ergebnisse ermittelt mittels EXCEL\n")
                
rr.append(rs)
        # print(rs)
if disci[2]>0:
           rr=sorted(rr,reverse=True)
else:
           rr=sorted(rr)
           qq1=0
           for iii in rr:
             qq1=qq1+1;qw="{:>02}".format(qq1)
             if qq1<=grenze:
              oprint("&emsp; &emsp;"+qw+"&emsp;&emsp; "+iii)
           oprint("<br><br>\n")
out.write("</body></html>")
out.close()







             


