lyon1tomussclient 1.0.11 copy "lyon1tomussclient: ^1.0.11" to clipboard
lyon1tomussclient: ^1.0.11 copied to clipboard

A Dart library for interacting with Tomuss, Lyon 1 University's academic platform, using Lyon1CasClient for authentication.

example/example.dart

import 'package:lyon1tomussclient/lyon1tomussclient.dart';
import 'package:lyon1casclient/lyon1casclient.dart';

void main() async {
  Lyon1CasClient lyon1Cas = Lyon1CasClient();
  final bool isAuthenticated =
      (await lyon1Cas.authenticate(Credential("p1234567", "a_valid_password")))
          .authResult;
  if (!isAuthenticated) {
    print("You are not authenticated. Please check your username and password");
    return;
  }
  final Lyon1TomussClient tomuss = Lyon1TomussClient(lyon1Cas);

  final ParsedPage? parsedPageOpt =
      await tomuss.getParsedPage(Lyon1TomussClient.currentSemester());

  if (parsedPageOpt == null) {
    print("There was an error while fetching Tomuss");
    return;
  }

  final ParsedPage parsedPage = parsedPageOpt;

  // list teaching units
  for (final TeachingUnit tu in parsedPage.teachingunits!) {
    print(tu.title);
    print("\tGrades:");
    for (final Grade g in tu.grades) {
      print("\t\t${g.title}: ${g.numerator}/${g.denominator}");
    }

    // list masters for current TU
    print("\tMasters:");
    for (final Teacher t in tu.masters) {
      print("\t\t${t.name} (${t.email})");
    }
  }

  // list semesters
  for (final Semester s in parsedPage.semesters!) {
    print("${s.title} (${s.url})");
  }
}
0
likes
105
pub points
10%
popularity

Publisher

unverified uploader

A Dart library for interacting with Tomuss, Lyon 1 University's academic platform, using Lyon1CasClient for authentication.

Repository (GitHub)
View/report issues

Documentation

API reference

License

unknown (LICENSE)

Dependencies

beautiful_soup_dart, copy_with_extension, equatable, hive, lyon1casclient, requests_plus

More

Packages that depend on lyon1tomussclient