Google calendar

tatal21820 Messages postés 37 Statut Membre -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
 
Bonjour à tous

je voudrais que mes RDV s'affiche dans l'ordre chronologique et pouvoir limiter le nombre de RDV exemple 10

start_date = dat.date()
    end_date = start_date + timedelta(days=60)

    URL = "https://calendar.google.com/calendar/ical/"adresse mail"/private-.............." \
          "/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 lbl in frm_agd1.winfo_children():
        lbl.destroy()

    for event in events:
        start = event["DTSTART"].dt
        non = event["SUMMARY"]

        agd_tatal = Label(frm_agd1, text=non + "  " + start.strftime("%A %d %b %Hh%M"), font="Arial 16", fg="WHITE",
                          bg="black")
        agd_tatal.pack(padx=10, pady=10, anchor='w')

    if not events:
        agd_tatal = Label(frm_agd1, text="Aucun rendez-vous aujourdhui", font="Arial 16", fg="WHITE", bg="black")
        agd_tatal.pack(padx=10, pady=10, anchor='w')

d'avance merci

L'adresse mail qui figurait en ligne 4 du code a été remplacée par "adresse mail" par la  Modération CCM

1 réponse

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     

    bonjour,

    moi je mettrais tous les rendez-vous dans une liste, que je trierais et puis j'afficherais les 10 plus récents.

    0
    1. tatal21820 Messages postés 37 Statut Membre
       

      Merci beaucoup mais comment je suis débutant et j'ai essayé entre crochet mais sa ne fonctionne pas

      0
    2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > tatal21820 Messages postés 37 Statut Membre
       

      Si tu souhaites de l'aide pour compléter ton programme, peux-tu partager un programme complet?

      0
    3. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > tatal21820 Messages postés 37 Statut Membre
       

      un exemple:

      import requests
      import urllib
      import icalendar
      url = "https://calendar.google.com/calendar/ical/XXXgroup.calendar.google.com/public/basic.ics"
      ical_string = urllib.request.urlopen(url).read()
      calendar = icalendar.Calendar.from_ical(ical_string)
      l=[]
      for e in calendar.walk():
          if e.name == "VEVENT":
              l.append((e.get('DTSTART').dt,e.get("SUMMARY")))
      l.sort()
      for i in range(10):
          ev=l[i]
          print("ev",ev[0],ev[1])
      
      0
    4. tatal21820 Messages postés 37 Statut Membre > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       

      ok très gros programme, je sais que sais mal codé mais y fonctionne à peu près encore quelques problème surtout celui là et une fois que tous fonctionne bien j'essairai

      import locale
      import urllib.request
      from datetime import timedelta, datetime
      from time import strftime
      from tkinter import *
      from tkinter import Tk
      import feedparser
      import icalendar
      import pytz
      import recurring_ical_events
      import requests
      from PIL import ImageTk, Image
      from geopy import location
      
      locale.setlocale(locale.LC_ALL, 'fr_FR')
      dat = datetime.now()  # .strftime('%A %d %B %Y')
      # dat2 = datetime.now(pytz.timezone("Europe/Paris"))
      INTERVAL = 300000  # Agenda
      INTERVAL2 = 864000  # Méteo
      
      location.latitude = 47
      location.longitude = 5.15
      
      master = Tk()
      # master.attributes('-fullscreen', True)
      # master.bind('<Escape>', lambda e: master.destroy())
      master.config(background='black')
      master.geometry("800x800")
      
      frm_weather = LabelFrame(master, font='helvetica 20', fg='WHITE', bg='black', bd="0", relief=GROOVE)
      frm_weather.place(x=1220, y=20, width=700, height=400)
      frm_clock = LabelFrame(master, text='', font='Arial 20', fg='WHITE', bg='black', bd="0", relief=GROOVE)
      frm_clock.place(x=20, y=20, width=500, height=150)
      frm_saint = LabelFrame(master, bg='black', bd="0", relief=GROOVE)
      frm_saint.place(x=20, y=150, width=500, height=100)
      frm_agd1 = LabelFrame(master, text="Tatal                                                                             "
                            , font="helvetica 15 underline", fg="WHITE", bg="black", bd="0", width=500, relief=GROOVE)
      frm_agd1.place(x=20, y=250, height=800)
      
      frm_agd2 = LabelFrame(master, text="Didine                                                                            "
                            , font='helvetica 15 underline', fg='WHITE', bg='black', bd="0", width=500, relief=GROOVE)
      
      frm_agd2.place(x=20, y=450, height=800)
      
      frm_agd3 = LabelFrame(master, text="Anniverssaire                                                                 "
                            , font='helvetica 15 underline', fg='WHITE', bg='black', bd="0", relief=GROOVE)
      frm_agd3.place(x=20, y=620, width=500, height=800)
      
      frm_info1 = LabelFrame(master, bg='black', bd="0", height=800, relief=GROOVE)
      frm_info1.place(x=120, y=850, width=1650, height=100)
      
      frm_info2 = LabelFrame(master, bg='black', bd="0", height=800, relief=GROOVE)
      frm_info2.place(x=120, y=900, width=1650, height=100)
      
      # frm_cam = LabelFrame(master, text="Caméra", font='helvetica 15', fg='WHITE', bg='black', bd="1", relief=GROOVE)
      # frm_cam.place(x=500, y=100, width=700, height=400)
      # frm_divers = LabelFrame(master, text="Divers", font='helvetica 15', fg='WHITE', bg='black', bd="1", height=800,
      # relief=GROOVE)
      # frm_divers.place(x=1250, y=450, width=600, height=400)
      frm_poub = LabelFrame(master, bg='black', relief=GROOVE, width=200, height=105, bd="0")
      frm_poub.place(x=750, y=750)
      frm_desc = LabelFrame(frm_weather, bg='black', bd="0", height=800, relief=GROOVE)
      frm_desc.place(x=130, y=25)
      
      frm_left = LabelFrame(frm_weather, fg='WHITE', bg='black', bd="1", relief=GROOVE, width=250, height=300, border="0")
      frm_left.place(x=40, y=50)
      frm_center = LabelFrame(frm_weather, bg='black', bd="1", relief=GROOVE, width=150, height=300, border="0")
      frm_center.pack(side=TOP)
      frm_right = LabelFrame(frm_weather, fg='WHITE', bg='black', bd="0", relief=GROOVE, width=250, height=300)
      frm_right.place(x=510, y=50)
      frm_down = LabelFrame(frm_weather, bg='black', bd="0", relief=GROOVE, width=750, height=200)
      frm_down.place(x=50, y=200)
      
      secondframe = Frame(frm_down, width=70, height=115, bg="black", bd="1")
      secondframe.pack(side=LEFT)
      thirdframe = Frame(frm_down, width=70, height=115, bg="black")
      thirdframe.pack(side=LEFT)
      fourthframe = Frame(frm_down, width=70, height=115, bg="black")
      fourthframe.pack(side=LEFT)
      fifthframe = Frame(frm_down, width=70, height=115, bg="black")
      fifthframe.pack(side=LEFT)
      sixthframe = Frame(frm_down, width=70, height=115, bg="black")
      sixthframe.pack(side=LEFT)
      seventhframe = Frame(frm_down, width=70, height=115, bg="black")
      seventhframe.pack(side=LEFT)
      
      # Horloge
      date_aujourdhui = Label(frm_clock, text=str(dat.strftime('%A %d %B %Y')), font='Arial 25', relief=FLAT, fg='WHITE',
                              bg='black')
      date_aujourdhui.place(x=10, y=10)
      
      
      def times():
          string = strftime('%H:%M')
          lbl_horl.config(text=string)
          lbl_horl.after(1000, times)
      
      
      lbl_horl = Label(frm_clock, font=('calibri', 50, 'bold'), background='black', foreground='white')
      lbl_horl.place(x=10, y=55)
      
      
      def second():
          string = strftime('%S')
          lbl_sec.config(text=string)
          lbl_sec.after(1000, second)
      
      
      lbl_sec = Label(frm_clock, font=('calibri', 35), background='black', foreground='#D5D8DC')
      lbl_sec.place(x=175, y=55)
      
      times()
      second()
      
      
      def task():
          # Météo
          api = "https://api.openweathermap.org/data/2.5/onecall?lat=" + str(location.latitude) + "&lon=" + str(
              location.longitude) + "&lang=fr&units=metric&exclude=hourly&appid=xxxxxxxxxxxxx"
          json_data = requests.get(api).json()
      
          # current
          temp = json_data['current']['temp']
          humidity = str(json_data['current']['humidity'])
          pressure = str(json_data['current']['pressure'])
          wind = json_data['current']['wind_speed']
          description = str(json_data['current']['weather'][0]['description'])
          wind2 = wind * 3.6
      
          # frm center
          for lbl in frm_center.winfo_children():
              lbl.destroy()
          d = Label(frm_center, font="Helvetica, 15 bold", fg="white", bg="black")
          firstimage = Label(frm_center, bg="black")
          firstimage.pack(side=TOP)
          firstdayimage = json_data['daily'][0]['weather'][0]['icon']
          photo1 = ImageTk.PhotoImage(file=f"icon/{firstdayimage}@2x.png")
          firstimage.config(image=photo1)
          firstimage.image = photo1
          d.pack(side=TOP)
          d.config(text=description)
      
          lbl_temp = Label(frm_center, text=f"{temp:2.1f} °C", font="Helvetica, 22 bold", fg="white", bg="black")
          lbl_temp.pack(side=TOP)
      
          # frm_left
          for lbl in frm_left.winfo_children():
              lbl.destroy()
          lbl_ville = Label(frm_left, text="labergement \n lès seurre", font="Helvetica, 20 bold", fg="white", bg="black")
          lbl_ville.pack(side=TOP)
          long_lat = Label(frm_left, font=("helvetica", 12), fg="white", bg="black")
          long_lat.pack(side=TOP)
          long_lat.config(text=f"{round(location.latitude, 4)}°N,  {round(location.longitude, 4)}°E")
      
          # frm_right
          for lbl in frm_right.winfo_children():
              lbl.destroy()
          lbl_humidite = Label(frm_right, text="Humidité" + " " + humidity + " " + "%", font="Helvetica, 15 bold",
                               fg="white",
                               bg="black")
          lbl_humidite.pack(side=TOP)
          lbl_pressure = Label(frm_right, text="Pression" + " " + pressure + " " + "hPa", font="Helvetica, 15 bold",
                               fg="white",
                               bg="black")
          lbl_pressure.pack(side=TOP)
          lbl_wind = Label(frm_right, text="Vent" + " " + str(f"{wind2:2.1f} KM/h"), font="Helvetica, 15 bold",
                           fg="white",
                           bg="black")
          lbl_wind.pack(side=TOP)
      
          # frm_down
          # j2
          seconde = dat + timedelta(days=1)
      
          for lbl in secondframe.winfo_children():
              lbl.destroy()
      
          day2 = Label(secondframe, bg="black", fg="white", font="arial 12 bold")
          day2.pack(side=TOP)
          day2.config(text=seconde.strftime("%A"))
      
          secondimage = Label(secondframe, bg="black")
          secondimage.pack(side=TOP)
      
          seconddayimage = json_data['daily'][1]['weather'][0]['icon']
          img = (Image.open(f"icon/{seconddayimage}@2x.png"))
          resized_image = img.resize((100, 100))
          photo2 = ImageTk.PhotoImage(resized_image)
          secondimage.config(image=photo2)
          secondimage.image = photo2
          day2temp = Label(secondframe, bg="black", fg="white", font="arial 12 bold")
          day2temp.pack(side=TOP)
          day2tempn = Label(secondframe, bg="black", fg="#60E7F0", font="arial 12 bold")
          day2tempn.pack(side=TOP)
      
          tempday2 = json_data['daily'][1]['temp']['day']
          tempnight2 = json_data['daily'][1]['temp']['night']
      
          day2temp.config(text=f"{tempday2:2.1f}°C")
          day2tempn.config(text=f"{tempnight2:2.1f}°C")
      
          # j3
          third = dat + timedelta(days=2)
      
          for lbl in thirdframe.winfo_children():
              lbl.destroy()
      
          day3 = Label(thirdframe, bg="black", fg="white", font="arial 12 bold")
          day3.pack(side=TOP)
          day3.config(text=third.strftime("%A"))
      
          thirdimage = Label(thirdframe, bg="black")
          thirdimage.pack(side=TOP)
      
          thirddayimage = json_data['daily'][2]['weather'][0]['icon']
          img = (Image.open(f"icon/{thirddayimage}@2x.png"))
          resized_image = img.resize((100, 100))
          photo3 = ImageTk.PhotoImage(resized_image)
          thirdimage.config(image=photo3)
          thirdimage.image = photo3
          day3temp = Label(thirdframe, bg="black", fg="white", font="arial 12 bold")
          day3temp.pack(side=TOP)
          day3tempn = Label(thirdframe, bg="black", fg="#60E7F0", font="arial 12 bold")
          day3tempn.pack(side=TOP)
      
          tempday3 = json_data['daily'][2]['temp']['day']
          tempnight3 = json_data['daily'][2]['temp']['night']
      
          day3temp.config(text=f"{tempday3:2.1f}°C")
          day3tempn.config(text=f"{tempnight3:2.1f}°C")
      
          # j4
          fourth = dat + timedelta(days=3)
      
          for lbl in fourthframe.winfo_children():
              lbl.destroy()
      
          day4 = Label(fourthframe, bg="black", fg="white", font="arial 12 bold")
          day4.pack(side=TOP)
          day4.config(text=fourth.strftime("%A"))
      
          fourthimage = Label(fourthframe, bg="black")
          fourthimage.pack(side=TOP)
      
          fourthdayimage = json_data['daily'][3]['weather'][0]['icon']
          img = (Image.open(f"icon/{fourthdayimage}@2x.png"))
          resized_image = img.resize((100, 100))
          photo4 = ImageTk.PhotoImage(resized_image)
          fourthimage.config(image=photo4)
          fourthimage.image = photo4
          day4temp = Label(fourthframe, bg="black", fg="white", font="arial 12 bold")
          day4temp.pack(side=TOP)
          day4tempn = Label(fourthframe, bg="black", fg="#60E7F0", font="arial 12 bold")
          day4tempn.pack(side=TOP)
      
          tempday4 = json_data['daily'][3]['temp']['day']
          tempnight4 = json_data['daily'][3]['temp']['night']
      
          day4temp.config(text=f"{tempday4:2.1f}°C")
          day4tempn.config(text=f"{tempnight4:2.1f}°C")
      
          # j5
          fifth = dat + timedelta(days=4)
      
          for lbl in fifthframe.winfo_children():
              lbl.destroy()
      
          day5 = Label(fifthframe, bg="black", fg="white", font="arial 12 bold")
          day5.pack(side=TOP)
          day5.config(text=fifth.strftime("%A"))
      
          fifthimage = Label(fifthframe, bg="black")
          fifthimage.pack(side=TOP)
      
          fifthdayimage = json_data['daily'][4]['weather'][0]['icon']
          img = (Image.open(f"icon/{fifthdayimage}@2x.png"))
          resized_image = img.resize((100, 100))
          photo5 = ImageTk.PhotoImage(resized_image)
          fifthimage.config(image=photo5)
          fifthimage.image = photo5
          day5temp = Label(fifthframe, bg="black", fg="white", font="arial 12 bold")
          day5temp.pack(side=TOP)
          day5tempn = Label(fifthframe, bg="black", fg="#60E7F0", font="arial 12 bold")
          day5tempn.pack(side=TOP)
      
          tempday5 = json_data['daily'][4]['temp']['day']
          tempnight5 = json_data['daily'][4]['temp']['night']
      
          day5temp.config(text=f"{tempday5:2.1f}°C")
          day5tempn.config(text=f"{tempnight5:2.1f}°C")
      
          # j6
          sixth = dat + timedelta(days=5)
      
          for lbl in sixthframe.winfo_children():
              lbl.destroy()
      
          day6 = Label(sixthframe, bg="black", fg="white", font="arial 12 bold")
          day6.pack(side=TOP)
          day6.config(text=sixth.strftime("%A"))
      
          sixthimage = Label(sixthframe, bg="black")
          sixthimage.pack(side=TOP)
      
          sixthdayimage = json_data['daily'][5]['weather'][0]['icon']
          img = (Image.open(f"icon/{sixthdayimage}@2x.png"))
          resized_image = img.resize((100, 100))
          photo6 = ImageTk.PhotoImage(resized_image)
          sixthimage.config(image=photo6)
          sixthimage.image = photo6
          day6temp = Label(sixthframe, bg="black", fg="white", font="arial 12 bold")
          day6temp.pack(side=TOP)
          day6tempn = Label(sixthframe, bg="black", fg="#60E7F0", font="arial 12 bold")
          day6tempn.pack(side=TOP)
      
          tempday6 = json_data['daily'][5]['temp']['day']
          tempnight6 = json_data['daily'][5]['temp']['night']
      
          day6temp.config(text=f"{tempday6:2.1f}°C")
          day6tempn.config(text=f"{tempnight6:2.1f}°C")
      
          # j7
          seventh = dat + timedelta(days=6)
      
          for lbl in seventhframe.winfo_children():
              lbl.destroy()
      
          day7 = Label(seventhframe, bg="black", fg="white", font="arial 12 bold")
          day7.pack(side=TOP)
          day7.config(text=seventh.strftime("%A"))
      
          seventhimage = Label(seventhframe, bg="black")
          seventhimage.pack(side=TOP)
      
          seventhdayimage = json_data['daily'][6]['weather'][0]['icon']
          img = (Image.open(f"icon/{seventhdayimage}@2x.png"))
          resized_image = img.resize((100, 100))
          photo7 = ImageTk.PhotoImage(resized_image)
          seventhimage.config(image=photo7)
          seventhimage.image = photo7
          day7temp = Label(seventhframe, bg="black", fg="white", font="arial 12 bold")
          day7temp.pack(side=TOP)
          day7tempn = Label(seventhframe, bg="black", fg="#60E7F0", font="arial 12 bold")
          day7tempn.pack(side=TOP)
      
          tempday7 = json_data['daily'][6]['temp']['day']
          tempnight7 = json_data['daily'][6]['temp']['night']
      
          day7temp.config(text=f"{tempday7:2.1f}°C")
          day7tempn.config(text=f"{tempnight7:2.1f}°C")
          master.after(INTERVAL2, task)
      
      
      def task2():
          # Saint du jour
          start_date = dat.date()
          end_date = start_date + timedelta(days=1)
          URL = "https://calendar.google.com/calendar/ical/"Adresse mail N°1"/private-xxxxxxxx" \
                "/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 lbl in frm_saint.winfo_children():
              lbl.destroy()
      
          for event in events:
              non = event["SUMMARY"]
              agd_saint = Label(frm_saint, text="St(e)" + non, font="Arial 26", fg="WHITE", bg="black")
              agd_saint.place(x=10, y=10)
      
          # Agenda1 Tatal
          start_date = dat.date()
          end_date = start_date + timedelta(days=60)
      
          URL = "https://calendar.google.com/calendar/ical/"Adresse mail N°2"/private-xxxxxxxxxx" \
                "/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 lbl in frm_agd1.winfo_children():
              lbl.destroy()
      
          for event in events:
              start = event["DTSTART"].dt
              non = event["SUMMARY"]
      
              agd_tatal = Label(frm_agd1, text=non + "  " + start.strftime("%A %d %b %Hh%M"), font="Arial 16", fg="WHITE",
                                bg="black")
              agd_tatal.pack(padx=10, pady=10, anchor='w')
      
          if not events:
              agd_tatal = Label(frm_agd1, text="Aucun rendez-vous aujourdhui", font="Arial 16", fg="WHITE", bg="black")
              agd_tatal.pack(padx=10, pady=10, anchor='w')
      
          # agenda2 Didine
          start_date = dat.date()
          end_date = start_date + timedelta(days=60)
          URL = "https://calendar.google.com/calendar/ical/"Adresse mail N°3"/private-xxxxxxxxxx" \
                "/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 lbl in frm_agd2.winfo_children():
              lbl.destroy()
      
          for event in events:
              start = event["DTSTART"].dt
              non = event["SUMMARY"]
              agd_didine = Label(frm_agd2, text=non + "  " + start.strftime("%A %d %b %Hh%M"), font="Arial 16", fg="WHITE",
                                 bg="black")
              agd_didine.pack(padx=10, pady=10, anchor='w')
      
          if not events:
              agd_didine = Label(frm_agd2, text="Aucun rendez-vous aujourdhui", font="Arial 16", fg="WHITE", bg="black")
              agd_didine.pack(padx=10, pady=10, anchor='w')
      
          # Anniverssaire
          start_date = dat.date()
          end_date = start_date + timedelta(days=15)
          URL = "https://calendar.google.com/calendar/ical/"Adresse mail N°4"/private" \
                "xxxxxxxxxxxxxxxxx "
      
          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 lbl in frm_agd3.winfo_children():
              lbl.destroy()
      
          for event in events:
              start = event["DTSTART"].dt
              non = event["SUMMARY"]
              agd_anni = Label(frm_agd3, text=non + "  " + start.strftime("%A %d %B"), font="Arial 16", fg="WHITE",
                               bg="black")
              agd_anni.pack(ipadx=20, pady=10, anchor='w')
      
              # Poubelles
              start_date = dat.date()
              end_date = start_date + timedelta(days=3)
              URL = "https://calendar.google.com/calendar/ical/xxxxxxxxx/public/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 lbl in frm_poub.winfo_children():
              lbl.destroy()
      
          for event in events:
              start = event["DTSTART"].dt
              non = event["SUMMARY"]
              agd_poub = Label(frm_poub, text=non + "  " + start.strftime("%A"), font="Arial 16", fg="WHITE",
                               bg="black")
              agd_poub.pack(ipadx=20, pady=10)
              master.after(INTERVAL, task2)
      
      
      # info1
      feed = feedparser.parse("https://www.bienpublic.com/edition-beaune/rss").entries
      
      
      def aff(inpho, pheed, n):
          inpho.config(text=pheed[n].title)
          if n + 1 < len(pheed):
              n += 1
          else:
              pheed = feedparser.parse("https://www.bienpublic.com/edition-beaune/rss").entries
              n = 0
          info.after(8000, aff, inpho, pheed, n)
      
      
      info = Label(frm_info1, font='Arial 16', fg='WHITE', bg='black')
      info.pack(padx=10, pady=10)
      aff(info, feed, 0)
      
      # Info2
      
      feed = feedparser.parse("http://www.france24.com/fr/france/rss").entries
      
      
      def aff(inpho, pheed, n):
          inpho.config(text=pheed[n].title)
          if n + 1 < len(pheed):
              n += 1
          else:
              pheed = feedparser.parse("http://www.france24.com/fr/france/rss").entries
              n = 0
          info.after(8000, aff, inpho, pheed, n)
      
      
      info = Label(frm_info2, font='Arial 16', fg='WHITE', bg='black')
      info.pack(padx=10, pady=10)
      aff(info, feed, 0)
      
      # Météo 5 jours
      # https://api.openweathermap.org/data/2.5/forecast?q=Seurre%2Cfr%2C&appid=315fa7e430e072d9d8a06a66fe731d13&cnt=5
      
      master.after(0, task)
      master.after(0, task2)
      master.mainloop()
      
      
      

      de l'améliorer avec des class ou autre.

      Merci pour ton aide

      0
    5. tatal21820 Messages postés 37 Statut Membre > tatal21820 Messages postés 37 Statut Membre
       

      j'ai essayé ton programme et il m'affiche un message d'erreur

      Traceback (most recent call last):
        File "C:\Users\tatal\PycharmProjects\essais\SmartMirror.py", line 25, in <module>
          l.sort()
      TypeError: can't compare datetime.datetime to datetime.date

      0