kiwimix/docs/commands.md
2023-05-27 19:06:37 +00:00

4.1 KiB

Commands

Create & destroy

generate

Cette commande génère un calendrier selon les paramètres choisis et place le résultat sur la pile.

Parametres sur les heures

  • --from-date XXX : date de début du calendrier généré.
  • --to-date YYY : date de fin du calendrier généré.
  • --from-time 9:00 : heure minimum des évenements.
  • --to-time 19:00 : heure maximum des évenements.
  • --fill : construits des évenements qui remplissent 100% du temps des jours spécifiés (équivalent à --random 100)
  • --random-hours PCENT : construits des évenements qui remplissent PCENT % du temps de l'intervale spécifié.

Parametres sur les jours

  • --days-of-month : limite les évenements à certains jours du mois (*, 1-31, */n, */monday/n )
  • --random-days PCENT : construit des evenements lors de jours aléatoires qui remplissent PCENT % de l'intervale spécifié.

swap

Cette commande inverse l'élément du haut de la pile avec l'élement juste en dessous.

drop

Cette commande retire le calendrier du dessus de la pile (= il est supprimé de la mémoire).

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.

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

Exemple

kiwimix 
  generate --....         # generate X calendar in memory & push the result
                          # (we build a calendar from 9:00 to 18:00 for the ... period )
  @ load alice.ics        # push alice's meetings calendar on stack 
  @ filter --merge        # pop alice's meetings calendar, filter & push the result
  @ filter --anonymize    # pop alice's meetings calendar, filter & push the result
  @ read bob.ics          # push bob's meetings calendar on stack 
  @ filter --merge        # pop bob's meetings calendar, filter & push the result
  @ filter --anonymize    # pop bob's meetings calendar, filter & push the result
  @ union --ranges        # pop bob's meetings calendar, pop alice's calendar, 
                          # compute (alice + bob) on time ranges, push the result
                          # (we just build an calendar with events where either alice or bob are occupied by meetings)
  @ substract --ranges    # pop bob, pop alice, compute (alice - bob) on time ranges, push the result
                          # (we just computed a calendar with all time slots where alice & bob are both free from meetings)
  @ save free-time.ics    # pop the resulting calendar, save to a file