extractAbsenceEntry function

AbsenceEntry? extractAbsenceEntry(
  1. Bs4Element row
)

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;
  }
}