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.

    0
    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 ?

      0
      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")
        1
    2. Merci beaucoup, ça marche super.

      Encore merci

      0