get method

Future<Context?> get(
  1. String id
)

Implementation

Future<Context?> get(String id) async {
  var matches = contexts.where((element) => element.id == id);
  Context? context = Context('');
  if (matches.isNotEmpty) {
    return matches.first;
  }
  var url =
      student.buildUrl("contextcard/contextcard.aspx?lectiocontextcard=$id");
  var response = await request(url);
  var soup = BeautifulSoup(response.data);
  if (id.startsWith('HE')) {
    context = extractTeamContext(soup, id);
  } else if (id.startsWith(studentUserOrTeacherRegex)) {
    context = extractStudentContext(soup, id);
  } else if (id.startsWith("G")) {
    context = extractGroupContext(soup);
  }
  if (context != null) {
    contexts.add(context);
  }
  return context;
}