Ousret / hermes

Automates programmables à réaction aux échanges électroniques depuis une boîte IMAP4

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Format DTSTARR dans RDV ICS

SadarSSI opened this issue · comments

commented

Bonjour

Nous rencontrons un souci avec les dates pour les RDV. En effet, nous bricolons actuellement une date avec {{date-de-reception|dateProchainLundi}} 15h30 GMT-01

Or, avec l'heure d'été (ou l'heure d'hiver) on se retrouve avec des dates de RDV décalées.

Partant de ce constat et après qq recherches sur le net, on trouve des infos sur le comment faire des RDV en tenant compte de la Time-Zone : https://stackoverflow.com/questions/35645402/how-to-specify-timezone-in-ics-file-which-will-work-efficiently-with-google-outl

De ce que je comprends du mode de fonctionnement, la trame du fichier ICS servant à poser le RDV est sans doute qq part dans le code de HERMES à contrario de l'avoir dans un fichier txt ou équivalent externalisé, dans le cas contraire, je veux bien savoir où ce fichier se cache car je ne l'ai pas franchement localisé ! ;-((

Du coup, il serait dans doute utile :

  • d'avoir une variable globale dans laquelle nous pourrions mettre la time-zone
  • d'avoir une fonction (alias variable locale si j'ai bien tout compris) nous permettant de recalculer une date GMT en fonction de la time zone de départ; je pense que Python doit avoir cela sur étagère ou presque...

Si mon analyse est la bonne, merci de nous indiquer si :

  • tu prends en charge cette fonction
  • nous devons nous en charger et si tel est le cas comment faire ?

Bonjour @SadarSSI

Merci pour le retour. Je confirme que ce décalage nuisible est un bug. Inutile de chercher une template iCal, il n'y en a pas, j'utilise la bibliothèque ics cf. Github. C'est elle qui génère le fichier iCal tant bien que mal.

Ton analyse est pertinente, il manque bien le paramètre timezone dans l'iCal ou celui-ci est erroné.

1) Portions concernées

2) Solutions/Hypothèse

  • Mettre à niveau la biliothèque python iCal ics sous-jacente dans sa version stable récente, ici v0.7
  • Rajouter un paramétre dans configuration.yaml tel que TIMEZONE pour que les dates soient lues avec le bon tz à l'init des datetime obj.

3) Comment procéder

Je vais prendre en charge ce ticket. Np.

Je t'invite à mettre à niveau manuellement la lib ics vers sa version la plus récente et vérifier si régression il y a et m'en informer pour que je sache dans quelle direction aller.

pip install ics -U

L'aboutissement du ticket concerne un correctif (Gestion TimeZone sur iCal) + une feature (Param TimeZone)

commented

OK, merci pour ta promptitude !

Je vais mettre à jour nos lib via pip et j'attends de tes news sur la modif.

Si j'ai bien compris ton post, nous allons devons déclarer une variable globale avec la time-zone Europe/Paris et, avec les modifs, nous ne devrions plus avoir de problème.

Dans tous les cas merci pour ton aide