Icalendar, récupérer titre

Résolu
tatal21820 Messages postés 37 Statut Membre -  
tatal21820 Messages postés 37 Statut Membre -

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. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     

    bonjour,

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

    0
  2. tatal21820 Messages postés 37 Statut Membre
     

    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. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       

      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
  3. tatal21820 Messages postés 37 Statut Membre
     

    Merci beaucoup, ça marche super.

    Encore merci

    0