import * as html_to_pdf from "html-pdf-node"
import { prepare, gettimefromintervalls } from "./main.js"
import { c, writePDF } from './files.js'
let date = new Date();
date = date.toLocaleDateString("de-DE", {
weekday: 'long',
year: 'numeric',
month: 'long',
day: 'numeric',
});
let hinweise = "
";
for (let hinweis of c.hinweise) {
hinweise += `- ${hinweis}
`;
}
hinweise += `
`;
const options = {
format: 'A4',
landscape: true,
margin: {
top: "0.5cm",
right: "1cm",
bottom: "1cm",
left: "2cm",
},
};
function format() {
let tage_runtimes = prepare()
let timeout = {}
let res = "";
// 1h has 4 15 minute intervalls: 08 to 19 means 44 intervalls
for (let i = 0; i < 44; i++) {
let mensa = "";
if (11 < i && i < 25) mensa = "mensa1";
if (25 < i && i < 27) mensa = "mensa2";
res += `` + gettimefromintervalls(i)
for (let day in tage_runtimes) {
if (timeout[day] > 0) {
timeout[day]--;
continue;
}
let el = tage_runtimes[day][0];
if (el.name.includes("STYLECLASS")) {
let styleclass = el.name.split("/")[1].trim().toLowerCase();
res += ` | `;
} else {
let name = el.name == "BUFFER" ? "" : `${el.name}`;
let raum = el.raum == "BUFFER" ? "" : `${el.raum}`;
res += `
${name}${raum} | `;
}
timeout[day] = el.runtime - 1;
tage_runtimes[day].splice(0, 1);
}
res += "
"
}
return res
}
function generatePDF() {
let html = `
${c.style}
Persönlicher Stundenplan von ${c.student} für das ${c.semester}. Stand: ${date}.
Uhrzeit |
Montag |
Dienstag |
Mittwoch |
Donnerstag |
Freitag |
${format()}
Hinweise:
${hinweise}
`;
html_to_pdf.generatePdf({content: html}, options).then(pdfBuffer => {writePDF(pdfBuffer)});
}
generatePDF()