97 lines
3.3 KiB
Python
Executable File
97 lines
3.3 KiB
Python
Executable File
#!/usr/bin/env python2
|
|
# -*- coding: utf-8 -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
|
|
|
import sys
|
|
|
|
from ulib.all import *
|
|
from ulib.tasks import *
|
|
from uapps.tasks import *
|
|
|
|
def display_help():
|
|
uprint(u"""%(scriptname)s: gestion de tâches
|
|
|
|
USAGE
|
|
%(scriptname)s [options] cmd [args]
|
|
|
|
OPTIONS
|
|
-h, --help
|
|
-c, --config
|
|
Spécifier le fichier de configuration (par défaut ~/.utools/tasksrc)
|
|
-S, --stores
|
|
Spécifier la liste des sources pour les tâches (une par ligne). La
|
|
commande add utilise la première source de cette liste. Toutes les
|
|
autres commandes agissent sur l'ensemble des sources.
|
|
-s, --tasksfile
|
|
Spécifier une source unique pour toutes les opérations.
|
|
--tasksdir
|
|
--projdirs
|
|
--purgedfile
|
|
Autres options qui peuvent être modifiées dans le fichier de
|
|
configuration.
|
|
COMMANDS
|
|
add [-d] [-e] title [+projects...] [@contexts...]
|
|
Créer une tâche.
|
|
-d marquer la nouvelle tâche comme faite.
|
|
-e éditer la nouvelle tâche.
|
|
list [-aqdln] [filter...]
|
|
Lister les titres des tâches correspondant au filtre.
|
|
-a Afficher TOUTES les tâches (par défaut si un filtre est fourni)
|
|
-q Afficher les tâches qui sont affichable (par défaut)
|
|
-d Afficher uniquement les tâches qui peuvent être effectuées
|
|
-l Afficher aussi les détails sur les tâches.
|
|
-n Ne pas afficher les statistiques.
|
|
edit tid
|
|
Editer la tâche #tid.
|
|
do tid [tids...]
|
|
Marquer la(es) tâche(s) #tid(s) comme faite(s).
|
|
nodo tid [tids...]
|
|
Marquer la(es) tâche(s) planifiées #tid(s) comme NON faite(s).
|
|
La prochaine échéance de la tâche est calculée.
|
|
start [-x] tid [summary]
|
|
Démarrer une tâche: la marquer comme étant en cours, en ajoutant
|
|
éventuellement une description de ce qui doit être fait.
|
|
-x Arrêter toutes les tâches en cours avant de démarrer la tâche
|
|
sélectionnée.
|
|
stop tid [summary]
|
|
Arrêter une tâche, en ajoutant éventuellement une description de ce qui
|
|
a été fait.
|
|
stop -a
|
|
Arrêter TOUTES les tâches en cours, plutôt que simplement celle
|
|
sélectionnée.
|
|
toggle [-x] tid [summary]
|
|
Démarrer/arrêter une tâche.
|
|
-x S'il faut démarrer la tache, arrêter d'abord toutes les autres
|
|
tâches. Sinon, ignorer cette option.
|
|
remove tid [tids...]
|
|
Supprimer la(es) tâche(s) #tid(s).
|
|
purge
|
|
Archiver les tâches faites. Elles ne seront plus affichées.
|
|
report
|
|
Faire un état de l'état d'avancement des tâches par projet.""" % globals())
|
|
|
|
def run_tasks():
|
|
options, longoptions = build_options([
|
|
('h', 'help', u"Afficher l'aide"),
|
|
])
|
|
ctl = TasksCtl()
|
|
options, args = ctl.get_args(None, options, longoptions)
|
|
for option, value in options:
|
|
if option in ('-h', '--help'):
|
|
display_help()
|
|
sys.exit(0)
|
|
elif ctl.is_option(option, value):
|
|
pass
|
|
|
|
itf, cmd_name, args = get_tasks_itf(args, ctl)
|
|
if itf is None:
|
|
display_help()
|
|
sys.exit(1)
|
|
|
|
try:
|
|
exit(itf.run(args, cmd_name=cmd_name))
|
|
except Exit: raise
|
|
except: die()
|
|
|
|
if __name__ == '__main__':
|
|
run_tasks()
|