#Python : Programmer un calendrier-agenda

Bonjour,

Je suis en vacances depuis déjà deux bonnes semaines et je viens de réaliser que j’ai passé une bonne partie de mon temps libre à coder! Parfois, je me demande si ça ne tourne pas à l’obsession…

Bref, après le jeu du pendu, je me suis mis en tête de programmer un agendrier, c’est-à-dire un agenda-calendrier. J’ai terminé la première partie, à savoir le calendrier. Le résultat me comble de joie. Pourtant, au départ c’était loin d’être gagner.

agendrier

Le plus difficile a été d’instancier les numéros de semaine. Quelle galère! A ma grande surprise, j’ai découvert que certaines années comptaient 53 semaines, que la semaine 1 pouvait débuter en Décembre de l’année précédente et que la semaine 52 pouvait se terminer en Janvier de l’année suivante…. Tout en tenant compte des années bissextiles tous les quatre ans si l’année est divisible par 4 et non divisible par 100… Ou bien si l’année est divisible par 400!

Comme d’habitude, je me suis lancé dans l’érection d’une véritable usine à gaz jusqu’à ce que je découvre qu’il existait déjà des modules susceptibles de me faciliter la tâche. Merci donc aux modules monthcalendar et localtime. Je n’oublie pas non plus le module datetime et sa méthode isocalendar() laquelle fut d’un grand secours.

Il s’agit donc d’un calendrier dont chaque jour du mois est composé d’un bouton sur lequel on peut cliquer. A terme, ce clic est censé ouvrir la page d’agenda corrélative. Je dis « A terme » car je n’ai pas encore commencé à coder l’agenda. Ce sera la prochaine étape et pour ce faire, je souhaite exploiter toutes les possibilités offertes par le widget Text et ses méthodes. Du reste, ce sera l’objet d’un prochain article.

En attendant, voici le code du calendrier que vous pouvez utiliser et modifier comme bon vous semble.

//pastebin.com/embed_iframe/eXtcFgUN

Publicités

Auteur : Ordinosor

Bienvenue sur Miamondo, mon blog personnel. "Mia mondo", c'est de l'espéranto et ça signifie "Mon monde" en français. Je m'appelle Benoît alias Ordinosor, Français expatrié en Allemagne. Mes centres d'intérêt sont les distributions GNU/Linux, le langage de programmation Python, la science-fiction et l'espéranto.

2 réflexions sur « #Python : Programmer un calendrier-agenda »

  1. J’aimerais bien utiliser votre script mais il fait un « from agenda import Agenda » qui ne semble pas connu de Python 2.7 que j’utilise. Pouvez-vous me dire où trouver ce script ? D’avance merci beaucoup. A. Ginestière (aginestiere@gmail.com)

    Aimé par 1 personne

    1. Bonjour,

      Pas de problème! Le code de l’agenda est dans l’article suivant :
      https://ordinosor.wordpress.com/2016/09/11/python-programmer-un-calendrier-agenda-2/

      Ce module n’est pas connu de python 2.7 pour la simple et bonne raison que c’est moi qui l’ait écrit.

      Je précise que mes codes sont en Python 3 (voir la première ligne de mes codes) mais si vous tournez sous Ubuntu par exemple, vous pouvez installer Python 3 très rapidement. Je crois même que c’est déjà installé.

      A la ligne 85, j’utilise une image qui représente une loupe pour l’onglet recherche. Il faudra donc modifier cette ligne pour importer vous-même une image de loupe que vous aurez placée quelque part dans vos dossiers. il faudra modifier le chemin.

      J’aimerais bien pouvoir envoyer facilement à quelqu’un un programme dans sa totalité (images comprises) mais je ne sais pas trop comment m’y prendre.

      Si vous rencontrez des soucis, n’hésitez pas à me contacter.

      Cordialement,

      Benoît.

      J'aime

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s