This commit is contained in:
Mylloon 2023-09-28 00:27:16 +02:00
parent 5fc7d9209c
commit 2ec3455d16
Signed by: Anri
GPG key ID: A82D63DFF8D1317F
2 changed files with 14 additions and 20 deletions

View file

@ -1,8 +1,6 @@
# cal7tor • *cal*endar P*7* extrac*tor* # cal7tor • *cal*endar P*7* extrac*tor*
> !! Fork de [cal8tor](https://git.mylloon.fr/Anri/cal8tor) !! > Fork de [cal8tor](https://git.mylloon.fr/Anri/cal8tor)
>
> !! En cours de dev -> ne fonctionne pas !!
Extracteur d'emploi du temps pour les masters d'informatique de Paris Cité (Diderot) Extracteur d'emploi du temps pour les masters d'informatique de Paris Cité (Diderot)
@ -22,23 +20,25 @@ Pour afficher la page d'aide
$ cal7tor --help $ cal7tor --help
``` ```
## Voir le calendrier dans le terminal <!-- ## Voir le calendrier dans le terminal
Pour les LP par exemple, lance : > Cette partie est héritée de cal8tor et n'est actuellement pas compatible avec cal7tor.
Pour les M1 par exemple, lance :
```bash ```bash
$ cal7tor lp $ cal7tor M1
``` ```
> Le rendu peut parfois être difficile à lire, n'hésites pas à utiliser l'option > Le rendu peut parfois être difficile à lire, n'hésites pas à utiliser l'option
> `-c` (ou `--cl`) pour ajuster la longueur des cellules du planning. > `-c` (ou `--cl`) pour ajuster la longueur des cellules du planning. -->
## Exporter le calendrier au format `.ics` ## Exporter le calendrier au format `.ics`
Pour les LP par exemple, lance : Pour les M1 par exemple, lance :
```bash ```bash
$ cal8tor LP --export calendar.ics $ cal8tor M1 --export calendar.ics
``` ```
> Le fichier comprend le fuseau horaire pour `Europe/Paris` et est > Le fichier comprend le fuseau horaire pour `Europe/Paris` et est

View file

@ -34,11 +34,10 @@ struct Args {
async fn main() { async fn main() {
let args = Args::parse(); let args = Args::parse();
let matches = let matches = Regex::new(r"(?i)M(?P<level>[1,2])")
Regex::new(r"(?i)M(?P<level>[1,2])[-–•·]?(?P<pathway>(LP|IMPAIRS|DATA|GENIAL|MPRI))?") .unwrap()
.unwrap() .captures(&args.class)
.captures(&args.class) .unwrap();
.unwrap();
let level = matches let level = matches
.name("level") .name("level")
@ -46,15 +45,10 @@ async fn main() {
.as_str() .as_str()
.parse::<i8>() .parse::<i8>()
.unwrap(); .unwrap();
let pathway = matches.name("pathway").unwrap().as_str();
let user_agent = format!("cal7tor/{}", env!("CARGO_PKG_VERSION")); let user_agent = format!("cal7tor/{}", env!("CARGO_PKG_VERSION"));
println!( println!("Récupération de l'emploi du temps des M{}...", level,);
"Récupération de l'emploi du temps des M{}-{}...",
level,
pathway.to_uppercase()
);
let timetable = timetable::timetable(level, args.semester, args.year, &user_agent).await; let timetable = timetable::timetable(level, args.semester, args.year, &user_agent).await;
println!("Récupération des informations par rapport à l'année..."); println!("Récupération des informations par rapport à l'année...");