split( '-') # Takes group 1 of dueDt (which is the date string found), splits it and puts it in a listĭueDtdte = datetime. If not, it may assign dueDt a Null value.ĭueDtlst = dueDt. If findDt and not done: # it should be checked first if it matches. PjtNme = 'Unknown' # Default project name for task Goes over ToDos and distributes tasks in three lists according to their due date. Opens taskpaper file and returns all lines/tasks in a list. # Finding items in the list without the tag and adding them at the end of sortedList RegexString = regexString #removes the last '|' character in the string RegexString = regexString + '.*' + taskTag + '.*|' # Putting together Regular Expression based on all the items in orderList # based on the order of items in the orderList argument list The sorted lines are put in the sortedList # The actual sorting process takes place here. Returns a sorted list based on the items in the orderList argument list, leaving items not matching the # These lists are global and used in the main program and some functions.ĭef Sortb圜riteria( taskList, orderList): Escaping parenthesis because elements will be used in a Regular Expression. #contextList = #Contexts in the taskpaper file in order. today() #gets today's dateĬontextList = [ 'driving', #Contexts in the taskpaper file in order. If this argument is passed, the output file will only include tasks that have the Word passedĪs an argument, filtering out all other tasks. If this argument is passed, tasks are ordered by either Context (c) or Priority (p)Īfter they have been ordered by due date.Ĥ. The following parameters should be passed when running the script:ģ. Also, all tasks with the tag are placed in the Today group. By the way, Rosemary’s Draft to Omnifocus keyboard actions are fantastic: thanks.This script generates a text/markdown file with the tasks from a taskpaper file sorted by due date in three groups: I hope this makes sense and I have attached a sample script of what I am talking about. So, I can’t figure out whether I’m doing something wrong, or if this is just how Omnifocus operates and I need to simply stop being annoyed by midnight due date parties. Is there an easy way to change the relative due dates from midnight to a more reasonable hour, such as 6:30 or 10? I have searched and watched and re-watched both David Spark’s and Rosemary’s Omnifocus videos, but both show the due date time and not the due time. I don’t want the default times to be midnight. I am wondering if I am doing something wrong. And if I try to make the in Workflow variable ask for the due date and time, such as October 1st at 6:30 pm, then all the relative due dates with -1w or -1d, default to the actual due date of October 1st.
But it’s when I use a variable for the due date in conjunction with the relative due dates, such as -2w, that the problem starts.įor example, if my class is on Monday at 6:30, and I want to make sure I have the media lined up for my students 1 week before the due date, by using the variable -1w, Omnifocus keeps defaulting the due time to midnight. Now, if I specifically set the due time, such as Sept 24, 6:30 pm, then everything works as normal for that due time. I have already set the default times in Omnifocus, but this appears to be overwritten when Workflows creates the new project. But I am running into an issue where all my due dates keep defaulting to Midnight. I teach an editing class at a local university and after listening to the Project Templates episode of Automators, I decided to finally try and automate some of my work in Omnifocus using Drafts and Workflow.