fn main() -> Result<(), untis::Error> {
let school = untis::schools::get_by_id(&42)?;
let result = school.client_login("username", "password");
let mut client: untis::Client;
match result {
Ok(v) => client = v,
Err(untis::Error::Rpc(err)) => {
if err.code == untis::jsonrpc::ErrorCode::InvalidCredentials.as_isize() {
println!("Invalid credentials");
}
return Err(untis::Error::Rpc(err));
}
Err(err) => return Err(err)?,
};
let date = chrono::Local::now().date_naive() + chrono::Duration::weeks(2);
let timetable = client.own_timetable_until(&date.into())?;
for lesson in timetable {
println!("{:?}", lesson);
}
Ok(())
}