diff --git a/README.md b/README.md index 01ee3ab..fe3b80e 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ -# newday +# Simple tool to generate a `today.org` file based on the unfinished TODO's of another orgfile -Tool to create a new day in orgmode \ No newline at end of file +I use emacs' orgmode to manage my tasks. Everyday I needed to create another orgfile for the next day. With this tool I can automatically create the file and remove the already done tasks. + +Use `./neworgday.py -h` for help. + +License: GPL3.0 diff --git a/neworgday.py b/neworgday.py new file mode 100755 index 0000000..6a9353d --- /dev/null +++ b/neworgday.py @@ -0,0 +1,91 @@ +#!/usr/bin/python + +# GPL3.0 licensed +# Developed by r3dwall +# http://git.qwik.i2p/r3dwall/newday + +import sys +import os + +# Input file +t = 0 + +# Get command line options +opts = {"help":0, "override":0, "output":0} + +for i, o in enumerate(sys.argv): + if i == 1: + t = o + + elif o == "-o": + opts["output"] = sys.argv[i+1] + + elif o == "-y": + opts["override"] = 1 + + elif o == "-h" or o == "--help": + opts["help"] = 1 + else: + pass + +# Help message +if opts["help"] or not t: + print("Usage: ./newday_emacs.py ") + print("Simple util developed in python to take a daily emacs org file and transform it into another one with the name 'today.org' with only things that were left undone for the day") + print("-y | overwrite output file") + print("-o | output file") + print("-h | this help") + + sys.exit() + +# Locate file +try: + f1 = open(t, "r") + +except: + print("File {} does not exist. For help type ./newday_emacs.py -h".format(t)) + sys.exit() + +# Read file +read = f1.readlines() +f1.close() + +d = [] + +# Save lines with only undone tasks ([]), todos and metainfo from the beginning of the file +for l in read: + if "TODO" in l: + d.append(l) + + elif "[ ]" in l: + d.append(l) + + elif "#+" in l: + d.append(l) + + else: + pass + + +# Write everything to today.org +t = opts["output"] if opts["output"] != 0 else "today.org" + +if opts["override"]: + pass +elif t in os.listdir(): + print("File exists. Use -y to overwrite.") + sys.exit() + +# Transform d into string +c = "" +for e in d: + if "TODO" in e or "#!" in e: + c += "\n{}".format(e) + else: + c += e + +del d + +f2 = open(t, "w+") +f2.write(c) +f2.close()