]>
gitweb.pimeys.fr Git - today.git/blob - today_server.py
2 # -*- encoding: utf-8 -*-
5 script qui affiche des trucs à penser, des J-n des conneries
8 Partie serveur, prévue pour chercher périodiquement les trucs non lus
9 et répondre à un check.
14 from lxml
import etree
19 os
.chdir('/home/vincent/scripts/today/')
24 #: Récupération de toutes les nouveautés
28 """Récupère la liste des derniers ids de chaque truc, stockée dans le fichier."""
29 f
= open(serverconfig
.store_published_file
)
34 def update_file(news
):
35 """Met à jour la liste des derniers ids dans le fichier."""
36 f
= open(serverconfig
.store_published_file
, 'w')
42 """Reçoit une requête de synchronisation."""
43 # On récupère où en est le client sur stdin
45 on_client
= json
.loads(t
)
46 # On récupère où en est le serveur dans le fichier idoine
47 if os
.path
.isfile(serverconfig
.store_seen_file
):
48 on_server
= json
.load(open(serverconfig
.store_seen_file
))
52 for k
in set(on_client
.keys() + on_server
.keys()):
53 on_server
[k
] = max(on_client
.get(k
, 0), on_server
.get(k
, 0))
54 # On enregistre ce nouveau dico
55 json
.dump(on_server
, open(serverconfig
.store_seen_file
, "w"))
56 # On envoie au client ce nouveau dico
57 print json
.dumps(on_server
)
59 if __name__
== "__main__":
60 DEBUG
= ("--debug" in sys
.argv
) or ("--verbose" in sys
.argv
) or serverconfig
.DEBUG
61 if sys
.argv
[1] == "check":
62 news
= gather
.gather()
63 if "--init" in sys
.argv
:
69 elif sys
.argv
[1] == "whatsup":
71 print json
.dumps(news
)
72 elif sys
.argv
[1] == "sync":