44 lines
1.7 KiB
JavaScript
44 lines
1.7 KiB
JavaScript
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))
|
|
}); |