noqqe » blog | sammelsurium | photos | projects | about

Taskwarrior Review

2016-05-08 @ accomplished, openbsd, opensource, python

Wie schon oft erwähnt, nutze ich Taskwarrior zum Verwalten meiner Todos. Bei allen Todo Listen ist immer das Problem - zu viel zu erledigen. Man fühlt sich als würde man gegen eine unendliche Menge an Todos ankämpfen die niemals weniger wird.

Vor ein paar Wochen las ich dann diesen Lifehacker Post.

Im Grunde steht da nur “Sieh dir an was du geschafft hast”. Deshalb hab ich mir mit ein wenig Python auch soetwas gebaut.

import commands
import json
import simplemail

cmd = '/usr/local/bin/task end.after:today-1wk export'
mailaddr = 'user@example.com'

def parse(output):
    tasks = json.loads(output)
    message = u''
    for task in tasks:
        try:
            message += u'* ' + task["project"] + ": " + task["description"] + u'\n'
        except:
            message += u'* ' + task["description"] + u'\n'

    mail(message)
    return True

def mail(message):
    simplemail.Email(
        smtp_server = "localhost",
        from_address = mailaddr,
        to_address = mailaddr,
        subject = u'Accomplished tasks this week',
        message = message
    ).send()

def main():
    (status, output) = commands.getstatusoutput(cmd)
    output = unicode(output, 'utf8', errors='replace')

    if status:
        sys.stderr.write('Error running task command')
        return False

    parse(output)

if __name__ == "__main__":
    main()

Eigentlich mailt es mir nur die Tasks, die ich innerhalb der letzten 7 Tage erledigt habe.

Per Cronjob schicke ich mir diese Mail am Freitag um 19:00. Gutes Gefühl die Mail zu lesen.

Comments (8)

Anonymous on 2016-05-08T15:49:50.517502
Die Idee klingt eigentlich gut. Mal schauen ob ich für meine Todo-Listen so etwas ebenfalls hinbekomme.

Anonymous on 2016-05-08T16:36:02.730065
Eigentlich bin ich ja ein grosser fan von CLI tools, aber als ich das letzte mal (vor ca. 2 Jahren) geschaut habe, gab es keine gescheite Möglichkeit l, die tasks über mehrere Devices zu syncen. Weisst du was, wie es da aktuell aussieht?

pbeckingham on 2016-05-08T22:31:05.585023
Nicely done.

Anonymous on 2016-05-09T02:52:11.827145
Taskwarrior hat sog. "Taskserver", die gibts auch als Service: https://freecinc.com/about

noqqe on 2016-05-09T08:36:42.924364
thanks!

noqqe on 2016-05-09T08:37:20.011658
Was nutzt du denn?

noqqe on 2016-05-09T08:37:32.115206
genau das!

senden9 on 2016-05-09T17:54:38.428788
Aktuell trello.com. Hab schon nachgesehen. Die bieten eine API an. Eventuell schaue ich mir aber mal das Taskwarrior-Ökosystem an.