const fs = require("fs");
const {read_html, du_unizeug, fetch_page,merge_folders_courselist} = require("./nodelib/lib");
const tissparse = require("./nodelib/tissparse");
const YAML = require("yaml");
async function load_curriculum(link, targetfile) {
html = await fetch_page(link,'div.ui-datatable-tablewrapper');
folders=du_unizeug()
console.log(`writing to ${targetfile}.html`)
fs.writeFile(targetfile+".html", html, function (err) {
if (err) return console.log(err);
});
courselist=merge_folders_courselist(tissparse.courselist(html),folders)
console.log(`writing to ${targetfile}`)
fs.writeFile(targetfile, YAML.stringify(courselist["tab2"]), function (err) {
if (err) return console.log(err);
});
}
const file = fs.readFileSync('./curricula.yaml', 'utf8')
curricula=YAML.parse(file)
for (key in curricula ){
console.log(`loading link: ${curricula[key]['link']}`);
console.log(`Target file data/${key}.yaml`);
if (curricula[key]["link"]) {
load_curriculum(curricula[key]["link"],`data/${key}.yaml`)
}
}
fetch_page('https://tiss.tuwien.ac.at/curriculum/public/curriculum.xhtml?dswid=3493&dsrid=603&key=58908','div.ui-datatable-tablewrapper').then((html)=> {
folders=du_unizeug()
courselist=tissparse.courselist(html)
courselist.forEach((value,index)=> {
i=folders["lookup"][value["lvanr"]] // lookup the LVAnr and get an Array with indexes
if (i) value["folders"] = i.reduce((acc,item)=>{
acc.push(folders["folders"][item]) // get one of the folders that are related to LVAnr
return acc
},[])
})
//console.log(YAML.stringify(courselist))
});