extractAbsenceCauses function

Future<List<AbsenceCauseEntry>> extractAbsenceCauses(
  1. BeautifulSoup soup
)

Implementation

Future<List<AbsenceCauseEntry>> extractAbsenceCauses(BeautifulSoup soup) async {
  List<AbsenceCauseEntry> causesEntries = [];
  // get registrations table
  Bs4Element registrationTable = soup
      .find('*', id: 's_m_Content_Content_FatabAbsenceFravaerGV')!
      .children[0];
  // get unregistered table
  Bs4Element unregistrationTable = soup
      .find('*', id: 's_m_Content_Content_FatabMissingAarsagerGV')!
      .children[0];

  if (registrationTable.children.length > 1) {
    var listOfRegistrations = registrationTable.children;
    listOfRegistrations.removeAt(0);
    for (var row in listOfRegistrations) {
      var cause = extractAbsenceCause(row, false);
      if (cause != null) {
        causesEntries.add(cause);
      }
    }
  }

  if (unregistrationTable.children.length > 1) {
    var listOfRegistrations = unregistrationTable.children;
    listOfRegistrations.removeAt(0);
    for (var row in listOfRegistrations) {
      var cause = extractAbsenceCause(row, true);
      if (cause != null) {
        causesEntries.add(cause);
      }
    }
  }

  return causesEntries;
}