+def initialize():
+ """Crée les fichiers (vides) nécessaires au fonctionnement du script"""
+ files = [config.birthdays_file, config.timers_file, config.saints_file,
+ 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",
+ json.dumps([[""]*31]*12).decode(),
+ u"{}"]
+ for ifile in range(len(files)):
+ namefile = files[ifile]
+ if os.path.isfile(namefile):
+ print (u"%s exists, skipping." % (namefile,)).encode("utf-8")
+ else:
+ f = open(namefile, "w")
+ f.write(contents[ifile].encode("utf-8"))
+ f.close()
+
+def sync():
+ """Synchronise les last_seen avec le serveur distant qui en garde une copie,
+ le maximum de chaque truc vu est gardé des deux côtés."""
+ lasts = get_last_seen()
+ cmd = "%s sync" % (config.path_today_server,)
+ proc = subprocess.Popen(["ssh", "-4", config.distant_server, cmd],
+ stdin = subprocess.PIPE, stdout=subprocess.PIPE,
+ close_fds = True)
+ lasts_raw = json.dumps(lasts)
+ proc.stdin.write(lasts_raw)
+ proc.stdin.close()
+ out = proc.stdout.read()
+ newdict = json.loads(out)
+ update_last_seen(newdict)
+ print (u"Nouvel état : %r" % newdict).encode("utf-8")
+
+
+