Added ticker command.
				
					
				
			This commit is contained in:
		| @@ -1,7 +1,8 @@ | |||||||
| #Mon, 06 May 2013 16:13:08 -0500 | #Mon, 06 May 2013 16:45:33 -0500 | ||||||
| lib.local=true | lib.local=true | ||||||
| name=jdb-gtd | name=jdb-gtd | ||||||
| version=0.8 | version=0.9 | ||||||
| nailgun.classpath.dir=/home/jdbernard/programs/nailgun/classpath | nailgun.classpath.dir=/home/jdbernard/programs/nailgun/classpath | ||||||
|  | executable.jar=true | ||||||
| build.number=1 | main.class=com.jdblabs.gtd.cli.GTDCLI | ||||||
|  | build.number=3 | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ import org.joda.time.DateTime | |||||||
|  |  | ||||||
| public class GTDCLI { | public class GTDCLI { | ||||||
|  |  | ||||||
|     public static final String VERSION = "0.8" |     public static final String VERSION = "0.9" | ||||||
|     private static String EOL = System.getProperty("line.separator") |     private static String EOL = System.getProperty("line.separator") | ||||||
|     private static GTDCLI nailgunInst |     private static GTDCLI nailgunInst | ||||||
|  |  | ||||||
| @@ -97,6 +97,7 @@ public class GTDCLI { | |||||||
|                 case ~/process/: process(parsedArgs); break |                 case ~/process/: process(parsedArgs); break | ||||||
|                 case ~/list-copies/: listCopies(parsedArgs); break |                 case ~/list-copies/: listCopies(parsedArgs); break | ||||||
|                 case ~/new/: newAction(parsedArgs); break |                 case ~/new/: newAction(parsedArgs); break | ||||||
|  |                 case ~/tickler/: tickler(parsedArgs); break | ||||||
|                 default:  |                 default:  | ||||||
|                     println "Unrecognized command: ${command}" |                     println "Unrecognized command: ${command}" | ||||||
|                     break } } } |                     break } } } | ||||||
| @@ -359,6 +360,23 @@ public class GTDCLI { | |||||||
|  |  | ||||||
|         item.save() } |         item.save() } | ||||||
|  |  | ||||||
|  |     protected void tickler(LinkedList args) { | ||||||
|  |  | ||||||
|  |         gtdDirs.tickler.eachFileRecurse { file -> | ||||||
|  |             def item = new Item(file) | ||||||
|  |             def today = new DateMidnight() | ||||||
|  |  | ||||||
|  |             // If the item is scheduled to be tickled today (or in the past) | ||||||
|  |             // then move it into the next-actions folder | ||||||
|  |             if ((item.tickle as DateMidnight) <= today) { | ||||||
|  |                 println "Moving '${item.action}' out of the tickler." | ||||||
|  |                 def oldFile = item.file | ||||||
|  |                 item.file = new File(gtdDirs."next-actions", | ||||||
|  |                                      stringToFilename(item.action)) | ||||||
|  |                 item.gtdProperties.remove("tickle") | ||||||
|  |                 item.save() | ||||||
|  |                 oldFile.delete() }}} | ||||||
|  |  | ||||||
|     protected void printUsage(LinkedList args) { |     protected void printUsage(LinkedList args) { | ||||||
|  |  | ||||||
|         if (!args) { |         if (!args) { | ||||||
| @@ -385,7 +403,10 @@ top-level commands: | |||||||
|                                there the same item is filed (cross-reference |                                there the same item is filed (cross-reference | ||||||
|                                with a project folder, for example). |                                with a project folder, for example). | ||||||
|    new                         Interactively create a new action item in the |    new                         Interactively create a new action item in the | ||||||
|                                current folder.""" |                                current folder. | ||||||
|  |    tickler                     Search the tickler file for items that need to be | ||||||
|  |                                delivered and move them to the *next-actions* | ||||||
|  |                                folder.""" | ||||||
|         } else { |         } else { | ||||||
|             def command = args.poll() |             def command = args.poll() | ||||||
|  |  | ||||||
| @@ -468,6 +489,14 @@ future?). It prompts the user for the next action and any extended properties | |||||||
| that should be associated with it, then creates the action file in the current | that should be associated with it, then creates the action file in the current | ||||||
| directory.""" | directory.""" | ||||||
|                     break |                     break | ||||||
|  |  | ||||||
|  |                 case ~/tickler/: println """\ | ||||||
|  | usage: gtd tickler | ||||||
|  |  | ||||||
|  | This command should be scheduled for execution once a day. It checks the tickler | ||||||
|  | file for any items that should become active (based on their <tickle> property) | ||||||
|  | and moves them out of the tickler file and into the next-actions file.""" | ||||||
|  |                     break | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user