Python afficher un évènement venant d'un calendrier google

Fermé
pythonhelp - 8 mars 2021 à 11:55
yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 - 8 mars 2021 à 15:39
Bonjour,

Je cherche à afficher un évènement venant de mon calendrier google. J'arrive à afficher tous les évènements de la journée mais je voudrais afficher seulement l'évènement actuel.
voici mon code pour cette partie:

for event in events['items']:
if now in (event['start'].get('dateTime', False) and event['end'].get('dateTime', False)):
print(event['summary'])

Voici mon erreur:
TypeError: 'in <string>' requires string as left operand, not datetime.datetime

Je la comprends mais j'arrive pas à la corriger.

Merci par avance

Configuration: Windows / Edge 89.0.774.45
A voir également:

3 réponses

yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
8 mars 2021 à 12:05
bonjour,
quand tu écris ceci:
if now in (event['start'].get('dateTime', False) and event['end'].get('dateTime', False)):

essaies-tu de tester si maintenant est après le début et avant la fin de l'évènement?
je pense que tu n'as pas compris à quoi servait
in
en python.
0
J'essaye d'afficher l'évènement qui se déroule en ce moment. Pour cela je veux l'afficher s'il se trouve dans la tranche horaire entre le dateTime du début et le dateTime de la fin de mon event.
Je pense en effet que j'utilise mal le "in". J'ai également tenter de mettre des "<=" et ">=" mais cela ne fonctionne pas non plus.
0
yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
8 mars 2021 à 13:33
montre-nous ce que tu as essayé avec des "<=" et ">=".
je pense que c'est la bonne piste.
0
pythonhelp > yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024
8 mars 2021 à 13:54
for event in events['items']:
if now <= (event['end'].get('dateTime', False)) and now >= (event['start'].get('dateTime', False)) :
print(event['summary'])

Voila mon code avec, mais j'ai aussi une erreur:
TypeError: '<=' not supported between instances of 'datetime.datetime' and 'str'
0
yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477 > pythonhelp
8 mars 2021 à 15:39
Le message te prévient que
(event['end'].get('dateTime', False))
est une chaine de caractères, et que tu ne peux pas la comparer à un élément de type
datetime.datetime
.
0
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
8 mars 2021 à 13:09
TypeError: 'in <string>' requires string as left operand, not datetime.datetime

in <chaine> nécessite une chaine comme opérande à gauche pas un objet datetime
0