done supports a list of actions, bugfix.

* `done` command now accepts an unlimited list of tasks to mark as done.
* `GTDCLI.stringToFilename` now removes forward slashes.
This commit is contained in:
Jonathan Bernard 2013-10-30 11:31:28 -05:00
parent 415c0e622f
commit b4e01b6098
2 changed files with 46 additions and 38 deletions

View File

@ -1,8 +1,8 @@
#Mon, 21 Oct 2013 14:08:15 +0000 #Wed, 30 Oct 2013 10:46:52 -0500
lib.local=true lib.local=true
name=jdb-gtd name=jdb-gtd
version=1.5 version=1.6
nailgun.classpath.dir=/home/jdbernard/programs/nailgun/classpath nailgun.classpath.dir=/home/jdbernard/programs/nailgun/classpath
executable.jar=true executable.jar=true
main.class=com.jdblabs.gtd.cli.GTDCLI main.class=com.jdblabs.gtd.cli.GTDCLI
build.number=1 build.number=0

View File

@ -23,7 +23,7 @@ import static com.jdblabs.gtd.Util.*
* @org gtd.jdb-labs.com/cli/GTDCLI */ * @org gtd.jdb-labs.com/cli/GTDCLI */
public class GTDCLI { public class GTDCLI {
public static final String VERSION = "1.5" public static final String VERSION = "1.6"
private static String EOL = System.getProperty("line.separator") private static String EOL = System.getProperty("line.separator")
/// We have a persistent instance when we are in the context of a Nailgun /// We have a persistent instance when we are in the context of a Nailgun
@ -318,13 +318,20 @@ public class GTDCLI {
protected void done(LinkedList args) { protected void done(LinkedList args) {
def selectedFilePath = args.poll() def selectedFilePath = args.poll()
def selectedFile = new File(selectedFilePath)
if (!selectedFile) { if (!selectedFilePath) {
println "gtd done command requires a <action-file> parameter." println "gtd done command requires a <action-file> parameter."
return } return }
while (selectedFilePath) {
def item def item
def selectedFile = new File(selectedFilePath)
if (!selectedFile.exists() || !selectedFile.isFile()) {
println "File does not exist or is a directory:"
println "\t" + selectedFile.canonicalPath
continue }
if (selectedFile.isAbsolute()) item = new Item(selectedFile) if (selectedFile.isAbsolute()) item = new Item(selectedFile)
else item = new Item(new File(workingDir, selectedFilePath)) else item = new Item(new File(workingDir, selectedFilePath))
@ -362,7 +369,8 @@ public class GTDCLI {
/// Delete the original /// Delete the original
oldFile.delete() oldFile.delete()
println "'$item' marked as done." } selectedFilePath = args.poll()
println "'$item' marked as done." } }
/** #### `calendar` /** #### `calendar`
* Implement the `calendar` command to show all the items which are * Implement the `calendar` command to show all the items which are
@ -749,7 +757,7 @@ context or project is named, all contexts are listed."""
* palatable for a filename. */ * palatable for a filename. */
public static String stringToFilename(String s) { public static String stringToFilename(String s) {
return s.replaceAll(/\s/, '-'). return s.replaceAll(/\s/, '-').
replaceAll(/[';:(\.$)]/, ''). replaceAll(/[';:(\.$\/)]/, '').
toLowerCase() } toLowerCase() }
} }