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

pythonhelp -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
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
pythonhelp
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > pythonhelp
 
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 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
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