]> gitweb.pimeys.fr Git - today.git/blobdiff - today.py
Oubli de tracking du fichier contenant les fêtes à souhaiter.
[today.git] / today.py
index 4522d0770e02e0f7e0fc561afbb72d487bc97650..9f9759419e9dcaffce0f73640336155b8a750387 100755 (executable)
--- a/today.py
+++ b/today.py
@@ -23,7 +23,9 @@ class Config(object):
             self.red = u"\e[1;31m"
             self.green = u"\e[1;32m"
         else:
-            self.endcolor=self.blue=self.red=self.green=""
+            self.endcolor = self.blue = self.red = self.green = ""
+        #: Faut-il contacter le serveur distant
+        self.do_remote = True
         #: Serveur distant où aller récupérer les checks
         self.distant_server = "pimeys"
         #: path de today-server.py sur le serveur distant
@@ -303,8 +305,9 @@ def check_all():
     return checks
 
 def get_everything():
-    """Récupère toutes les infos"""
-    work = [action() for action in AUTOMATED_ACTIONS.values()]
+    """Récupère toutes les infos."""
+    work = [action() for (keyword, action) in AUTOMATED_ACTIONS.iteritems()
+            if (config.do_remote or not keyword in REMOTE_ACTIONS)]
     chain = u"\n\n".join([result for result in work if result])
     return chain
 
@@ -335,7 +338,8 @@ def _update_lasttime(when):
 
 def ping():
     """Dit juste si il y a quelque chose à voir.
-       La première exécution de la journée peut être lente parce qu'elle va bosser avnt de répondre."""
+       La première exécution de la journée peut être lente parce qu'elle va bosser avant de répondre.
+       """
     now = get_now()
     lasttime = _get_lasttime()
     if (lasttime.date() < now.date()):
@@ -352,7 +356,7 @@ def ping():
             return u"You have something in %stoday%s" % (config.red, config.endcolor)
 
 def affiche():
-    """Action par défaut, affiche toutes les infos"""
+    """Action par défaut, affiche toutes les infos."""
     out = print_date()
     out += get_everything()
     _there_is_something_in_today(False)
@@ -369,7 +373,7 @@ def initialize():
     for ifile in range(len(files)):
         namefile = files[ifile]
         if os.path.isfile(namefile):
-            print "%s exists, skipping." % (namefile,)
+            print (u"%s exists, skipping." % (namefile,)).encode("utf-8")
         else:
             f = open(namefile, "w")
             f.write(contents[ifile].encode("utf-8"))
@@ -389,7 +393,7 @@ def sync():
     out = proc.stdout.read()
     newdict = json.loads(out)
     update_last_seen(newdict)
-    print u"Nouvel état : %r" % newdict
+    print (u"Nouvel état : %r" % newdict).encode("utf-8")
     
     
 
@@ -421,6 +425,9 @@ OTHER_ACTIONS = {
            "init" : initialize,
            }
 
+#: Les actions qui nécessitent un accès au serveur distant
+REMOTE_ACTIONS = ["check", "sync"]
+
 #: Toutes les actions
 ACTIONS = dict(AUTOMATED_ACTIONS)
 ACTIONS.update(OTHER_ACTIONS)
@@ -431,6 +438,10 @@ if __name__ == "__main__":
     import sys
     if "--no-color" in sys.argv:
         config.endcolor, config.red, config.blue = u"", u"", u""
+        sys.argv.remove("--no-color")
+    if "--no-remote" in sys.argv:
+        config.do_remote = False
+        sys.argv.remove("--no-remote")
     if len(sys.argv) == 1:
         # Juste un today
         output = ACTIONS[None]()
@@ -439,4 +450,4 @@ if __name__ == "__main__":
         args = sys.argv[2:]
         output = ACTIONS[commande](*args)
     if output:
-        print output
+        print output.encode("utf-8")