extractAbsenceEntry function
Implementation
AbsenceEntry? extractAbsenceEntry(Bs4Element row) {
try {
var teamColumn = row.children[0];
var teamLink = teamColumn.children[0];
var teamName = teamLink.text;
var teamId =
"HE${queriesFromSoup(teamLink.getAttrValue("href")!)['holdelementid']!}";
var team = Team(name: teamName, id: teamId, displayName: teamName);
List<double> percentages = [];
List<AbsenceFraction> fractions = [];
for (int i = 0; i < 8; i++) {
Bs4Element column = row.children[1 + i];
if (i % 2 == 0) {
percentages.add(extractAbsencePercent(column));
} else {
fractions.add(extractAbsenceFraction(column));
}
}
return AbsenceEntry(
team: team,
regular: RegularEntryData(
currentPercent: percentages[0],
currentModules: fractions[0],
finalPercent: percentages[1],
finalModules: fractions[1]),
assignment: AssignmentEntryData(
currentPercent: percentages[2],
currentStudentTime: fractions[2],
finalPercent: percentages[3],
finalStudentTime: fractions[3]));
} catch (e) {
return null;
}
}