Icalendar, récupérer titre

Résolu/Fermé
tatal21820 Messages postés 35 Date d'inscription vendredi 6 mai 2022 Statut Membre Dernière intervention 2 septembre 2023 - Modifié le 29 août 2022 à 15:34
tatal21820 Messages postés 35 Date d'inscription vendredi 6 mai 2022 Statut Membre Dernière intervention 2 septembre 2023 - 29 août 2022 à 15:27

Bonjour à tous,

Je veux récupérer le titre de mes rendez-vous (ex: Anniversaire, rdv Dr. etc.) mais je ne vois pas comment faire. car je suis débutant.

import icalendar
import recurring_ical_events
import urllib.request
import locale
from datetime import date, timedelta, datetime
import locale
import pytz

locale.setlocale(locale.LC_ALL, 'fr_FR')

dat = datetime.now(pytz.timezone('Europe/Paris'))

start_date = dat.date()
end_date = start_date + timedelta(days=60)
url = "https://calendar.google.com/***************************************basic.ics"

ical_string = urllib.request.urlopen(url).read()
calendar = icalendar.Calendar.from_ical(ical_string)
events = recurring_ical_events.of(calendar).between(start_date, end_date)

for event in events:
    start = event["DTSTART"].dt
    duration = event["DTEND"].dt - event["DTSTART"].dt
    print("start {} duration {} ".format(start, duration))

D'avance merci.

A voir également:

3 réponses

yg_be Messages postés 23357 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 novembre 2024 Ambassadeur 1 555
29 août 2022 à 11:19

bonjour,

tu ne nous as pas expliqué si tu récupérais bien les dates de début et de fin.

0
tatal21820 Messages postés 35 Date d'inscription vendredi 6 mai 2022 Statut Membre Dernière intervention 2 septembre 2023
Modifié le 29 août 2022 à 15:33

Oui, je récupère bien les dates.

J'ai trouvé la solution :

for event in events:
    start = event["DTSTART"].dt
    duration = event["DTEND"].dt - event["DTSTART"].dt
    non = event["SUMMARY"]
    # print("start {} duration {} ".format(start, duration))
    print(non)

Par contre, comment faire pour afficher "aucun rdv" si je n'ai pas de rendez-vous ?

0
yg_be Messages postés 23357 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 novembre 2024 1 555
29 août 2022 à 13:18

par exemple:

pdr = True
for event in events:
    pdr = False
    start = event["DTSTART"].dt
    duration = event["DTEND"].dt - event["DTSTART"].dt
    non = event["SUMMARY"]
    # print("start {} duration {} ".format(start, duration))
    print(non)
if pdr:
    print("aucun rdv")
1
tatal21820 Messages postés 35 Date d'inscription vendredi 6 mai 2022 Statut Membre Dernière intervention 2 septembre 2023
Modifié le 29 août 2022 à 15:32

Merci beaucoup, ça marche super.

Encore merci

0