Commit 4b48075e authored by BERTHAUT Florent's avatar BERTHAUT Florent
Browse files

Switching to manual adding of fields

parent 2dca2ac3
This diff is collapsed.
"use strict";
/*
Pour extraire les guides, on aurait donc les cas suivants:
guide L1: recherche année="L1", ensuite ordre des numéros d'UE, et à l'intérieur l'intitulé, alphabétique, ce qui suffit pour regrouper les enseignements par langue
guide L2: idem, mais recherche "L2"
guide L3 LEA: idem, mais recherche année="L3"+parcours="appliqués" (pour avoir toutes les combinaisons des langues)
guide L3 MPT: recherche année="L3"+parcours="touristiques"; si même fiche a aussi parcours "appliqués", renuméroter UE+autre nom UE en cas de besoin, puis ordre des numéros d'UE et à l'intérieur, ordre alphabétique
guide L3 TCI: même chose que MPT, mais recherche "L3" + "techniques"
Ca peut marcher et surtout: ca me donne un peu moins de travail pour préparer les fiches. Au niveau des masters, les doubles parcours seraient aussi une solution pour le tronc commun et pour les enseignements partagés entre les contrats pro/apprentis et les autres.
*/
/*
M1 ANI: année=M1 AND parcours= "Master LEA - Tronc commun" OR parcours="Master LEA - Projet de l'étudiant" OR parcours="Affaires et Négociation Internationales" Ordre: numéro UE, puis alphabétique pour les EC
M1 ANI pro: année=M1 AND parcours= "Master LEA - Tronc commun" OR parcours="Master Apprentissage - Contrat Pro - Tronc commun" OR parcours="Affaires et négociation internationales - En Contrat pro". IF mêmes EC avec parcours = "Master LEA - Tronc commun" AND parcours="Master Apprentissage - Contrat Pro - Tronc commun", THEN supprimer les fiches parcours = "Master LEA - Tronc commun" concernées. Ordre: numéro UE, puis alphabétique pour les EC
M1 TCI: année=M1 AND parcours= "Master LEA - Tronc commun" OR parcours="Master LEA - Projet de l'étudiant" OR parcours="Techniques du commerce international" Ordre: numéro UE, puis alphabétique pour les EC
M1 TCI pro: année=M1 AND parcours= "Master LEA - Tronc commun" OR parcours="Master Apprentissage - Contrat Pro - Tronc commun" OR parcours="Techniques du Commerce International - En Contrat pro" IF mêmes EC avec parcours = "Master LEA - Tronc commun" AND parcours="Master Apprentissage - Contrat Pro - Tronc commun", THEN supprimer les fiches parcours = "Master LEA - Tronc commun" concernées. Ordre: numéro UE, puis alphabétique pour les EC
M1 MPT: année=M1 AND parcours= "Master LEA - Tronc commun" OR parcours="Master LEA - Projet de l'étudiant" OR parcours="Affaires et Négociation Internationales" Ordre: numéro UE, puis alphabétique pour les EC
M1 MPTA: année=M1 AND parcours= "Master LEA - Tronc commun" OR parcours="Master Apprentissage - Contrat Pro - Tronc commun" OR parcours="Management de projets touristiques - En Apprentissage" IF mêmes EC avec parcours = "Master LEA - Tronc commun" AND parcours="Master Apprentissage - Contrat Pro - Tronc commun", THEN supprimer les fiches du parcours = "Master LEA - Tronc commun" concernées. Ordre: numéro UE, puis alphabétique pour les EC
M1 RICI: année=M1 AND parcours= "Master LEA - Tronc commun" OR parcours="Master LEA - Projet de l'étudiant" OR parcours="Relations interculturelles et coopération internationale" Ordre: numéro UE, puis alphabétique pour les EC
M2 ANI: année=M2 AND parcours= "Master LEA - Tronc commun" OR parcours="Master LEA - Projet de l'étudiant" OR parcours="Affaires et Négociation Internationales" Ordre: numéro UE, puis alphabétique pour les EC
M2 ANI pro: année=M2 AND parcours= "Master LEA - Tronc commun" OR parcours="Master Apprentissage - Contrat Pro - Tronc commun" OR parcours="Affaires et négociation internationales - En Contrat pro". IF mêmes EC avec parcours = "Master LEA - Tronc commun" AND parcours="Master Apprentissage - Contrat Pro - Tronc commun", THEN supprimer les fiches parcours = "Master LEA - Tronc commun" concernées. Ordre: numéro UE, puis alphabétique pour les EC
M2 TCI: année=M2 AND parcours= "Master LEA - Tronc commun" OR parcours="Master LEA - Projet de l'étudiant" OR parcours="Techniques du commerce international" Ordre: numéro UE, puis alphabétique pour les EC
M2 TCI pro: année=M2 AND parcours= "Master LEA - Tronc commun" OR parcours="Master Apprentissage - Contrat Pro - Tronc commun" OR parcours="Techniques du Commerce International - En Contrat pro" IF mêmes EC avec parcours = "Master LEA - Tronc commun" AND parcours="Master Apprentissage - Contrat Pro - Tronc commun", THEN supprimer les fiches parcours = "Master LEA - Tronc commun" concernées. Ordre: numéro UE, puis alphabétique pour les EC
M2 MPT: année=M2 AND parcours= "Master LEA - Tronc commun" OR parcours="Master LEA - Projet de l'étudiant" OR parcours="Affaires et Négociation Internationales" Ordre: numéro UE, puis alphabétique pour les EC
M2 MPTA: année=M2 AND parcours= "Master LEA - Tronc commun" OR parcours="Master Apprentissage - Contrat Pro - Tronc commun" OR parcours="Management de projets touristiques - En Apprentissage" IF mêmes EC avec parcours = "Master LEA - Tronc commun" AND parcours="Master Apprentissage - Contrat Pro - Tronc commun", THEN supprimer les fiches du parcours = "Master LEA - Tronc commun" concernées. Ordre: numéro UE, puis alphabétique pour les EC
M2 RICI: année=M2 AND parcours= "Master LEA - Tronc commun" OR parcours="Master LEA - Projet de l'étudiant" OR parcours="Relations interculturelles et coopération internationale" Ordre: numéro UE, puis alphabétique pour les EC
*/
//Filtrer les fiches
let Papa = require("papaparse");
let fs = require("fs");
......@@ -11,7 +55,7 @@ const csvFile = "input/fiches.csv";
//Filters/renaming per year/specialisation
let guides = new Map();
let guidesFilters = new Map();
guidesFilters.set("Master-TSM_M1", new Map([
guidesFilters.set("Master TSM M1", new Map([
["Enseignement", ["Nom EC"] ],
["Responsable", ["Enseignant.e.s"]],
["Pré-requis", ["Prérequis"]],
......@@ -21,7 +65,7 @@ guidesFilters.set("Master-TSM_M1", new Map([
["Langue d'enseignement", ["Langue d'enseignement"]],
["Bibliographie sélective", ["Bibliographie sélective"]]
]));
guidesFilters.set("Master-TSM_M2", new Map([
guidesFilters.set("Master TSM M2", new Map([
["Enseignement", ["Nom EC"] ],
["Responsable", ["Enseignant.e.s"]],
["Pré-requis", ["Prérequis"]],
......@@ -44,6 +88,15 @@ guidesFilters.set("default", new Map([
["Bibliographie sélective", ["Bibliographie sélective"]]
]));
let fullNames = new Map();
fullNames.set("ANI", "Affaires et négociation internationales");
fullNames.set("TCI", "Techniques du commerce international");
fullNames.set("RICI", "Relations interculturelles et coopération internationale");
fullNames.set("MPT", "Management de projets touristiques");
fullNames.set("TSM", "Traduction spécialisée multilingue");
fullNames.set("Pro", " - En Contrat pro");
//read csv
console.log("Reading csv file "+csvFile);
var csv = fs.readFileSync(csvFile, 'utf8');
......@@ -69,24 +122,61 @@ function parseGuides(fiches) {
let guideNames = [];
if(f["Année"]=="L1" || f["Année"]=="L2") { // L1 L2
guideNames.push(f["Année"]+"-LEA");
guideNames.push(f["Année"]+" LEA");
}
else if(f["Année"]=="L3") { // L3
let parcours = f["Parcours"].split(",");
for(let p of parcours) {
if(p.includes("appliqués aux affaires")) {
guideNames.push(f["Année"]+"-LEA");
guideNames.push(f["Année"]+" LEA");
}
else if(p.includes("commerce international")){
guideNames.push(f["Année"]+" TCI");
}
else {
guideNames.push(f["Année"]+"-"+p.substr(0, p.length-4).trim());
guideNames.push(f["Année"]+" MPT");
}
}
}
else if(f["Parcours"]=="Traduction spécialisée multilingue") { // TSM
guideNames.push("Master-TSM_"+f["Année"]);
else if(f["Parcours"]==fullNames.get("TSM")) { // TSM
guideNames.push(f["Année"]+" TSM");
}
else { //Master LEA
else if(f["Parcours"]=="Master LEA - Tronc commun"
|| f["Parcours"]=="Master LEA - Projet de l'étudiant") { //Master LEA
guideNames.push(f["Année"]+" LEA TCI");
guideNames.push(f["Année"]+" LEA RICI");
guideNames.push(f["Année"]+" LEA MPT");
guideNames.push(f["Année"]+" LEA ANI");
}
else if(f["Parcours"]=="Master Apprentissage - Contrat Pro - Tronc commun") {
guideNames.push(f["Année"]+" LEA TCI Pro");
guideNames.push(f["Année"]+" LEA RICI Pro");
guideNames.push(f["Année"]+" LEA MPT Pro");
guideNames.push(f["Année"]+" LEA ANI Pro");
}
else if(f["Parcours"]==fullNames.get("ANI")) {
guideNames.push(f["Année"]+" LEA ANI");
}
else if(f["Parcours"]==fullNames.get("ANI")+fullNames.get("Pro")) {
guideNames.push(f["Année"]+" LEA ANI Pro");
}
else if(f["Parcours"]==fullNames.get("TCI")) {
guideNames.push(f["Année"]+" LEA TCI");
}
else if(f["Parcours"]==fullNames.get("TCI")+fullNames.get("Pro")) {
guideNames.push(f["Année"]+" LEA TCI Pro");
}
else if(f["Parcours"]==fullNames.get("RICI")) {
guideNames.push(f["Année"]+" LEA RICI");
}
else if(f["Parcours"]==fullNames.get("RICI")+fullNames.get("Pro")) {
guideNames.push(f["Année"]+" LEA RICI Pro");
}
else if(f["Parcours"]==fullNames.get("MPT")) {
guideNames.push(f["Année"]+" LEA MPT");
}
else if(f["Parcours"]==fullNames.get("MPT")+fullNames.get("Pro")) {
guideNames.push(f["Année"]+" LEA MPT Pro");
}
for(let guideName of guideNames) {
......@@ -147,20 +237,75 @@ function writeFilteredFicheToStr(guide, guideName, f) {
const empty = /\s*/;
guide.str += "<i> Université de Lille - UFR LEA - ";
switch(guideName) {
case "L1 LEA" :
case "L2 LEA" :
case "L3 LEA" : {
guide.str += f["Année"]+" Langues Étrangères Appliquées aux Affaires";
}break;
default : {
guide.str += guideName;
}break;
}
guide.str += " - Semestre "+f["Semestre"]+"</i>\n";
guide.str += "<p>\n";
guide.str += "<span custom-style='FicheTitle'>S"+f["Semestre"]+" ";
guide.str += "<span custom-style='Titre 1 Car1'>S"+f["Semestre"]+" ";
guide.str += "UE "+f["UE"]+"&nbsp;: </span> ";
guide.str += "<span custom-style='FicheTitleValue'>"+f["Nom UE"]+"</span>\n";
guide.str += "<span custom-style='Titre 1 Car1'>"+f["Nom UE"]+"</span>\n";
guide.str += "</p>\n";
guide.str += "<p>&nbsp</p>\n";
let titlePre = "<p>\n<span custom-style='Subtle Reference'>";
let titleSuf = "&nbsp;: </span> ";
let fieldSuf = "</p>\n";
guide.str += titlePre+ "Enseignement" + titleSuf;
guide.str += f["Nom EC"]
guide.str += fieldSuf;
guide.str += titlePre+ "Volume horaire" + titleSuf;
guide.str += f["Volume horaire encadré"]+"h ";
if(f["Heures CM"]=="") {
guide.str += "(TD)";
}
else if(f["Heures TD"]=="") {
guide.str += "(CM)";
}
else {
guide.str += "("+f["Heures CM"]+"h CM, "+f["Heures TD"]+"h TD)";
}
guide.str += fieldSuf;
/*
["Enseignant.e.s", ["Enseignant.e.s"]],
["Volume horaire", ["Volume horaire encadré", "h ",
"(", "Heures CM", "h CM / ", "Heures TD", "h TD)"]],
["Pré-requis", ["Prérequis"]],
["Compétence(s) visée(s)", ["Compétence(s) visée(s)"]],
["Descriptif du cours", ["Descriptif"]],
["Évaluation", ["Informations sur l'évaluation"]],
["Langue d'enseignement", ["Langue d'enseignement"]],
["Bibliographie sélective", ["Bibliographie sélective"]]
*/
/*
for(let destField of guidFilt.keys()) {
guide.str += "<p>\n";
guide.str += "<span custom-style='FieldTitle'>"+destField+"&nbsp;: </span> ";
guide.str += "<span custom-style='Subtle Reference'>"+destField+"&nbsp;: </span> ";
for(let origField of guidFilt.get(destField)) {
if(f[origField]!=undefined) {
if(f[origField]!=undefined && !(destField==")) {
let fieldText = f[origField];
//remove (MPT/TCI) if needed
if(fieldText.endsWith("(MPT/TCI)")) {
fieldText = fieldText.substr(0, fieldText.length-9);
}
//remove extra lines of type (<p><br /></p>)
fieldText = fieldText.replace(/<p><br \/><\/p>/g, "");
......@@ -173,6 +318,13 @@ function writeFilteredFicheToStr(guide, guideName, f) {
if(fieldText.endsWith("<br />")) {
fieldText = fieldText.substr(0, fieldText.length-6);
}
//add a br if the field ends with a list
if(fieldText.endsWith("/ul>")) {
fieldText += "&nbsp";
}
//write the field
guide.str += fieldText+" ";
}
else {
......@@ -181,6 +333,7 @@ function writeFilteredFicheToStr(guide, guideName, f) {
}
guide.str += "</p>\n";
}
*/
guide.str +="<div custom-style='Page Break'> \n";
guide.str += "<br/> </div>\n";
......@@ -202,6 +355,12 @@ function saveToDoc(guideName) {
}
}
//Write MCC list
//Write BCC
//Write the html file
fs.writeFileSync(guideFileName+".html", guide.str, {"encoding":"utf-8"});
console.log("Done building "+guideFileName+".html");
......@@ -222,7 +381,7 @@ function saveToDoc(guideName) {
commandODT+=" --lua-filter src/pagebreak.lua ";
commandODT+=" --lua-filter src/odt-custom-styles.lua ";
commandODT+=" -f markdown "+guideFileName+".md ";
commandODT+=" --reference-doc='input/reference.odt' ";
commandODT+=" --reference-doc='input/reference_magali.odt' ";
commandODT+=" -o "+guideFileName+".odt ";
exec(commandODT,
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment