import os

import header

def erstelleUebersicht(kursid, klassekurs_name, dateien, path, namen, gebdaten, config, inputs, kurs_inputs):

    table = ''

    table += '<a name="'+klassekurs_name+'"></a>'
    table += '<a name="'+klassekurs_name+'Overview"></a>'

    allg = inputs["Allgemein"]
    schuljahr = allg["schuljahr"]
    halbjahr = allg["halbjahr"]

    halbjahresnote = False
    if ("halbjahresnote" in kurs_inputs):
        if (kurs_inputs["halbjahresnote"]=='ja'):
            halbjahresnote = True

    try:
        namen_kurzlang = config["Namen"]["form"]
    except KeyError:
        print('Der Schlüssel Namen oder "form" existiert nicht in der Device-Datei!')
        exit(0)    

    if (namen_kurzlang=="lang"):
        beschriftung_name = "Name, Vorname"
    else:
        beschriftung_name = "Vorname N."

    table += header.erstelleKursnavigation(kursid, 'Übersicht', 'übersicht', klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)

    schr_bez = kurs_inputs["schriftlich_bez"]
    schr_anzahl = int(kurs_inputs["schriftlich_anzahl"])
    somi_quartale = int(kurs_inputs["somi_quartale"])

    table += '<table class="overview" repeat="1">'

    table += '<tr><th class="nr" rowspan="2">Nr</th><th class="name" rowspan="2">'+beschriftung_name+'</th>'

    if (halbjahr=='2' and halbjahresnote):
        table += '<th class="hj" rowspan="2">Hj.</th>'

    if schr_anzahl>0:
        table += '<th class="schr" colspan="'+str(schr_anzahl)+'">'+schr_bez+'en</th>'

    table += '<th class="somi line" colspan="'+str(somi_quartale)+'">SoMi</th>'
    table += '<th class="endnote" rowspan="2">Note</th></tr>'

    table += '<tr class="header">'

    offset = 0
    if (halbjahr=='2'):
        offset = schr_anzahl
    for i in range(offset+1, offset+schr_anzahl+1):
        table += '<th class="schr_cell"><a href="#'+klassekurs_name+'Korrektur'+str(i)+'">Nr. '+str(i)+'</a></th>'
        tag = 'Nr.'+str(i)

    offset = 0
    if (halbjahr=='2'):
        offset = 2
    if somi_quartale>1:
        line = ' line'
        for i in range(offset+1, offset+somi_quartale+1):
            table += '<th class="somi_cell'+line+'"><a href="#'+klassekurs_name+'SoMiQ'+str(i)+'">Q'+str(i)+'</a></th>'
            if (len(line)>0):
                line = ''
        tag = 'Q'+str(i)
    else:
        table += '<th class="somi_cell line"><a href="#'+klassekurs_name+'SoMiQ'+str(offset+1)+'">'
        tag = ''
        for i in range(offset+1, offset+somi_quartale+1):
            tag += 'Q'+str(i)+'+Q'+str(i+1)
        table += tag + '</a></th>'
    table += '</tr>'

    count = 0
    for name in namen:
        count = count + 1
        
        table += '<tr><td class="nr">'+str(count)+'</td><td class="name">'+name+'</td>'
        
        if (halbjahr=='2' and halbjahresnote):
            table += '<td class="hj"></td>'

        for i in range(schr_anzahl):
            table += '<td class="note">&nbsp;</td>'
        table += '<td class="line">&nbsp;</td>'
        for i in range(somi_quartale-1):
            table += '<td class="note">&nbsp;</td>'
        table += '<td class="line endnote">&nbsp;</td>' # Endnote
        table += '</tr>'

    table += '</table>'

    table += '<pdf:nextpage />'

    return table
