import os, sys
from xhtml2pdf import pisa

import folien


def erzeugePDFAusdruck(outputpath, alleklassen, klassenschueler, allekurse, alleabschnitte, epochen, schuljahr, halbjahr, inputs, farbe):

    body = ''

    body += folien.erzeugeIndex(alleklassen, klassenschueler, allekurse, alleabschnitte, epochen, schuljahr, halbjahr, inputs, True)
    body += folien.erzeugeKlassenFolien(alleklassen, klassenschueler, allekurse, alleabschnitte, epochen, schuljahr, halbjahr, inputs, True)

    html_source = '<html><head>'

    if farbe:
        html_source += '<link rel="stylesheet" href="modules/pdf/pdf-color.css">'
    else:
        html_source += '<link rel="stylesheet" href="modules/pdf/pdf-sw.css">'

    html_source += '</head><body>'+body+'</body></html>'

    pisa.showLogging()

    if farbe:
        datei_ausgabe = outputpath + '/pdf/ausdruck-farbe.pdf'
    else:
        datei_ausgabe = outputpath + '/pdf/ausdruck-sw.pdf'

    with open(datei_ausgabe, "w+b") as result_file:

        # convert HTML to PDF
        pisa_status = pisa.CreatePDF(
            html_source,       # page data
            dest=result_file,  # destination file
        )

        # Check for errors
        if pisa_status.err:
            print("Fehler bei der Erzeugung der PDF aus HTML!")



def erzeugePDFÜbersichtSI(outputpath, alleklassen, klassenschueler, allekurse, alleabschnitte, epochen, schuljahr, halbjahr, inputs):

    body = ''

    body += folien.erzeugeNotenTabellen(alleklassen, klassenschueler, allekurse, alleabschnitte, epochen, schuljahr, halbjahr, inputs, True)

    html_source = '<html><head>'

    html_source += '<link rel="stylesheet" href="modules/pdf/pdf-tabelle.css">'
    html_source += '</head><body>'+body+'</body></html>'

    pisa.showLogging()

    datei_ausgabe = outputpath + '/pdf/uebersichten.pdf'

    with open(datei_ausgabe, "w+b") as result_file:

        # convert HTML to PDF
        pisa_status = pisa.CreatePDF(
            html_source,       # page data
            dest=result_file,  # destination file
        )

        # Check for errors
        if pisa_status.err:
            print("Fehler bei der Erzeugung der PDF aus HTML!")
