or that kind of stuff"""
import time, datetime
+import re
import os
import sys
import subprocess
#: Fichier contenant les évènements à venir
self.timers_file = "timers.txt"
#: Fichier contenant les fêtes à souhaiter
- self.saints_file = "saints.txt"
+ self.saints_file = "saints.json"
#: Fichier contenant les ids des derniers trucs vus/lus
self.last_seen_file = "lasts"
#: Fichier contenant le timestamp de dernière exécution
birthdays = add_title(u"Anniversaires", birthdays)
return birthdays
+def _parse_saint(s):
+ """Renvoie la liste des fêtes contenue dans un jour"""
+ l = s.split(",")
+ ll = []
+ for st in l:
+ if st[0] == "&":
+ ll.append(["St ", st[1:]])
+ elif st[0] == "!":
+ ll.append(["Ste ", st[1:]])
+ return ll
+
+def _get_firstnames():
+ """Récupère la liste des noms des gens connus"""
+ birthdays = parse_datefile(config.birthdays_file)
+ firstnames = [b[1].split()[0] for b in birthdays]
+ return firstnames
+
+def get_saints():
+ """Renvoie la liste des fêtes à souhaiter aujourd'hui et demain"""
+ sourcesaints = json.load(open(config.saints_file))
+ now = get_now()
+ saints = {}
+ saints["today"] = _parse_saint(sourcesaints[now.month - 1][now.day - 1])
+ saints["tomorrow"] = _parse_saint(sourcesaints[now.month - 1][now.day])
+ firstnames = _get_firstnames()
+ towish = {"today" : [], "tomorrow" : []}
+ for day in ["today", "tomorrow"]:
+ ssaints = saints[day]
+ for (sexe, saint) in ssaints:
+ if exists([firstname.lower() in saint.lower().split() for firstname in firstnames]):
+ towish[day].append(sexe + saint)
+ ttowish = []
+ if towish["today"]:
+ ttowish.append(u"Aujourd'hui :\n" + "\n".join(towish["today"]))
+ if towish["tomorrow"]:
+ ttowish.append(u"Demain :\n" + "\n".join(towish["tomorrow"]))
+ saints = "\n".join(ttowish)
+ saints = add_title(u"Fêtes à souhaiter", saints)
+ return saints
+
def check_birthdays():
"""Compte combien il y a d'anniversaires à afficher"""
birthdays = get_birthdays()
n = 0
return n
+def check_saints():
+ """Compte combien il y a de fêtes à afficher"""
+ saints = get_saints()
+ return len(re.findall("\nSt", saints))
+
def format_quotes(liste):
"""Formate les quotes de dicos à texte"""
t = (u"\n" + u"_"*80 + u"\n").join([u"%(id)s (%(date)s)\n%(quote)s" % q for q in liste])
"grenier" : u"Épisodes du joueur du grenier",
"birthdays" : u"Anniversaires à souhaiter",
+ "saints" : u"Fêtes à souhaiter",
}
def check_all():
news = json.loads(out)
seen = get_last_seen()
news["birthdays"] = check_birthdays()
+ news["saints"] = check_saints()
checks = []
for (thing, comm) in THINGS.iteritems():
n = news[thing] - seen.get(thing, 0)
config.last_seen_file]
contents = [u"# Anniversaires\n#jj/mm/aaaa Prénom Nom\n",
u"# Évènements à venir\n#jj/mm/aaaa Évènement\n",
- u"# Fêtes\n#jj/mm/aaaa Saint\n",
+ json.dumps([[""]*31]*12).decode(),
u"{}"]
for ifile in range(len(files)):
namefile = files[ifile]
AUTOMATED_ACTIONS = {
"timers" : get_timers,
"birth" : get_birthdays,
+ "saints" : get_saints,
"check" : check_all,
}