Icalendar, récupérer titre

Résolu

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.

3 réponses

  1. Contributeur

    bonjour,

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

    1. 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 ?

      1. Contributeur

        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")