- 05 Nov, 2015 2 commits
-
-
MinchinWeb authored
-
MinchinWeb authored
-
- 04 Nov, 2015 6 commits
-
-
Bram Schoenmakers authored
-
Bram Schoenmakers authored
-
Bram Schoenmakers authored
-
Bram Schoenmakers authored
Online coverage reports via coveralls.io
-
MinchinWeb authored
-
MinchinWeb authored
-
- 03 Nov, 2015 5 commits
-
-
MinchinWeb authored
"Modules should have short, all-lowercase names. Underscores can be used in the module name if it improves readability."
-
Bram Schoenmakers authored
Fix unicode values in aliases config in python2
-
Jacek Sowiński authored
Apparently shlex and ConfigParser.read() don't work well with Unicode input in python2.
-
Bram Schoenmakers authored
Fix help in prompt mode
-
Jacek Sowiński authored
`help` is not a real subcommand and without arguments it is of NoneType, so we need to properly handle it.
-
- 01 Nov, 2015 1 commit
-
-
Bram Schoenmakers authored
Properly split alias options wrapped in quotes
-
- 31 Oct, 2015 1 commit
-
-
Jacek Sowiński authored
-
- 30 Oct, 2015 8 commits
-
-
Bram Schoenmakers authored
It shows the first todo item to be done, optionally with a filter applied: topydo next +Chores @Home
-
Bram Schoenmakers authored
-
Bram Schoenmakers authored
So we still have the tags in the master branch.
-
Bram Schoenmakers authored
Thanks to Travis CI and the unit tests, the master branch is almost always of sufficient quality to be used. Other pros: * Wiki content matches the default branch. * Project stats at Github are up to date. * Less merge overhead at release time.
-
Bram Schoenmakers authored
-
Bram Schoenmakers authored
This is achieved by importing some modules only when applicable. For instance, 'ls' doesn't need ChangeSet and also doesn't always need icalendar. Sorting and archiving is also only applicable to writing commands (del, add, etc.).
-
Bram Schoenmakers authored
ChangeSet._trim may call ChangeSet.delete() several times, which incurs a disk write every time. This creates a lot of overhead, especially when lots of revisions are removed. Instead, leave the responsibility to the caller of _trim to make sure that the new content is written to disk. In this case, ChangeSet.save() the only caller, already writes to disk.
-
Bram Schoenmakers authored
There was a restriction in place that a file should contain the same number of todo items before and after an edit. This is now removed. Reason for change is that I lost a lot of edits to a long list of items and removing one single item from the list. The editor exits and as a result topydo refused to process it, losing all the changes. Another reason is that we have `revert` now. In case you severely mess up, you can always revert.
-
- 28 Oct, 2015 1 commit
-
-
Bram Schoenmakers authored
This reuses the logic that the backup functionality uses to determine whether a command is read-only or not. In that case, prompt mode doesn't trigger a warning for ls* commands when the backing todo file was changed.
-
- 24 Oct, 2015 3 commits
-
-
Bram Schoenmakers authored
Save `edit` result only when tempfile was modified
-
Bram Schoenmakers authored
-
Jacek Sowiński authored
-
- 23 Oct, 2015 5 commits
-
-
Jacek Sowiński authored
topydo.Command.get_subcommand() is one of the critical parts of topydo so we really have to be sure that it's functioning properly.
-
Jacek Sowiński authored
-
Jacek Sowiński authored
Also move resolving aliases logic to a function.
-
Jacek Sowiński authored
Aliases can now be defined in 'aliases' section of topydo config file. Examples: [aliases] showall = ls -x purge = del -f ical = ls -f ical
-
Bram Schoenmakers authored
Sanitize defaults in topydo.lib.Config._Config This may break the tests in pending PR #52 .
-
- 22 Oct, 2015 3 commits
-
-
Jacek Sowiński authored
mtimes of tempfile prior to editing and after leaving the editor are now compared before changing anything in todolist. If tempfile wasn't modified, todolist (and todo file) is left untouched and user gets appropriate error message.
-
Jacek Sowiński authored
Using defaults as a parameter passed to the constructor of configparser.ConfigParser results in a presence of **all** options inside every section. It's very convenient in many use-cases, but not very much with our configuration model. After this change only relevant options are present in each section, so: `topydo.lib.Config.config().has_option('topydo', 'priority_colors')` will now return `False` as 'priority_colors' resides in 'colorscheme' section and not in 'topydo'. Before this change it would return `True`.
-
Bram Schoenmakers authored
-
- 16 Oct, 2015 1 commit
-
-
Bram Schoenmakers authored
If given, the -n flag overrides the list_limit configuration flag to limit the number of todos printed by ls. In combination with -x, -n does not do anything. Rationale is to keep the behavior of -x intact, matching the semantics of the original todo.txt CLI.
-
- 15 Oct, 2015 4 commits
-
-
Bram Schoenmakers authored
Introduce backup feature and `revert` command
-
Jacek Sowiński authored
-
Jacek Sowiński authored
`topydo revert` will search for backup corresponding with current state of todo file, and use it to recover previous state. Output will show to user results of which command had been reverted. If no suitable backup is found (for example if user edited todo file recently with other application), no action is taken and user is notified on the output about lack of corresponding backup in backup file.
-
Jacek Sowiński authored
Backups containing whole todolist and archive can be now saved after execution of each "read-write" command. Furthermore this change creates base for eventual "revert" command. Backups are safely stored and indexed in our own JSON-based format which is compatible with python2.x and python3.x. We also use zlib compression to minimize size of backup file. Path of the backup file is always relative to the todo file, so backups from different todo files won't mix up. User can configure number of stored backups with new config option - "backup_count". Any positive number will tell topydo to store that very number of backups. Setting "backup_count" to 0 will completely turn off backup functionality.
-