# Commands ```shell kiwimix generate --.... # generate X calendar in memory & push the result @ load alice.ics # push alice's calendar on stack @ filter --merge # pop alice's calendar, filter & push the result @ filter --anonymize # pop alice's calendar, filter & push the result @ read bob.ics # push bob's calendar on stack @ filter --merge # pop bob's calendar, filter & push the result @ filter --anonymize # pop bob's calendar, filter & push the result @ union --ranges # pop bob's calendar, pop alice's calendar, compute (alice + bob) on time ranges, push the result @ substract --ranges # pop bob, pop alice, compute (alice - bob) on time ranges, push the result # (we just computed the time slots where alice & bob are both free) @ save remaining ``` ## Create & destroy ### generate Cette commande génère un fichier de calendrier. L'option --... semble être un placeholder, donc je suppose qu'il pourrait y avoir d'autres options à spécifier ici. ### pop ## File management ### load FILE Cette commande lit un fichier .ics et ajoute le calendrier à la pile. ### save FILE Cette commande retire le calendrier du dessus de la pile, et le sauvegarde dans le fichier indiqué. ## Transforming calendar content ### filter Cette commande retire le calendrier du dessus de la pile, applique un filtre, puis ajoute le résultat à la pile. * --merge: applique une opération de fusion des évènement qui se chevauchent sous forme de nouveaux évenements plus larges et qui incluent les informations des évenements dont ils sont issus. * --anonymize: applique une opération d'anonymisation qui supprime le titre et le détails des évenements. ### union Cette commande retire les deux fichiers .ics du dessus de la pile, calcule l'union de leurs événements (c'est-à-dire tous les événements qui apparaissent dans l'un ou l'autre fichier), puis ajoute le résultat à la pile. ### swap Cette commande inverse l'élément du haut de la pile avec l'élement juste en dessous. ### substract Cette commande retire les deux fichiers .ics du dessus de la pile, construit la différence entre les deux (c'est-à-dire retire du calendrier du bas de la pile les éléments qui sont dans celui du haut de la pile), puis ajoute le résultat à la pile. * --events : supprime les evements qui sont dans le calendrier en haut de pile * --ranges : supprime les intervales de temps des évenements qui sont dans le cadrier en haut de pile ## intersect Cette commande retire les deux fichiers .ics du dessus de la pile, construit l'intersection entre les deux (c'est-à-dire les éléments qui sont communs au calendrier du bas de la pile et ceux sont dans celui du haut de la pile), puis ajoute le résultat à la pile. * --events : supprime les evements qui sont dans le calendrier en haut de pile * --ranges : supprime les intervales de temps des évenements qui sont dans le cadrier en haut de pile