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. 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")
  2. Contributeur

    bonjour,

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