import os

import header


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

    table = ''

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

    try:
        schr_bez = kurs_inputs["schriftlich_bez"]
        schr_anzahl = int(kurs_inputs["schriftlich_anzahl"])
        korrektur_seiten = int(kurs_inputs["schriftlich_anzahl"])
    except KeyError:
        print('Ein Parameter "schriftlich_XYZ" fehlt für die Lerngruppe in der Input-Datei!')
        exit(0)

    try:
        device = inputs["Allgemein"]["device"]
    except KeyError:
        print('Der Schlüssel Allgemein oder "device" existiert nicht in der Input-Datei!')
        exit(0)

    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"
        beschriftung_summe = "Summe"
    else:
        beschriftung_name = "Vorname N."
        beschriftung_summe = "∑"

    aufgaben_anzahl = int(config["Korrekturbogen"]["anzahl_aufgaben"])

    offset = 0
    if (halbjahr=='2'):
        offset = schr_anzahl

    for no in range(offset+1, offset+schr_anzahl+1):

        table += '<a name="'+klassekurs_name+'Korrektur'+str(no)+'"></a>'

        line = schr_bez+' Nr. '+str(no)

        table += header.erstelleKursnavigation(kursid, line, 'korrektur', klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)

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

        table += '<tr class="header"><th class="nr">Nr</th><th class="name">'+beschriftung_name+'</th>'
        for i in range(aufgaben_anzahl):
            table += '<th class="korrektur">A. '+str(i+1)+'</th>'
        table += '<th class="summe">'+beschriftung_summe+'</th><th class="aknote">Note</th>'
        table += '</tr>'

        table += '<tr class="muster"><td class="nr"></td><td class="name">Musterlösung</td>'
        for i in range(aufgaben_anzahl):
            table += '<td class="korrektur"></td>'
        table += '<td class="summe"></td><td class="aknote"></td>'
        table += '</tr>'

        count = 0
        for name in namen:
            count = count + 1
            table += '<tr><td class="nr">'+str(count)+'</td><td class="name">'+name+'</td>'
            for i in range(aufgaben_anzahl):
                table += '<td class="korrektur"></td>'
            table += '<td class="summe"></td><td class="aknote"></td>'
            table += '</tr>'

        table += '</table>'

        table += '<p/>'
            
        table += '<table class="raster">'
        table += '<tr><td class="first">Note</td><td class="cs" colspan="3">1</td><td class="cs" colspan="3">2</td><td class="cs" colspan="3">3</td><td class="cs" colspan="3">4</td><td class="cs" colspan="3">5</td><td>6</td></tr>'
        table += '<tr class="line"><td class="first">&nbsp;</td><td>1+</td><td>1</td><td>1-</td><td>2+</td><td>2</td><td>2-</td><td>3+</td><td>3</td><td>3-</td><td>4+</td><td>4</td><td>4-</td><td>5+</td><td>5</td><td>5-</td><td>6</td></tr>'
        table += '<tr class="line"><td class="first">Pt.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>'
        table += '</table>'

        table += '<pdf:nextpage />'

    return table
