1. 30 Oct, 2015 7 commits
    • Bram Schoenmakers's avatar
      Merge branch 'master' into ls-n · 7838a8ba
      Bram Schoenmakers authored
      7838a8ba
    • Bram Schoenmakers's avatar
      Merge branch 'stable' · 10ec25eb
      Bram Schoenmakers authored
      So we still have the tags in the master branch.
      10ec25eb
    • Bram Schoenmakers's avatar
      These are steps to get rid of the stable branch · 1b1dcee6
      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.
      1b1dcee6
    • Bram Schoenmakers's avatar
      Merge branch 'lazy-import' · 6691d349
      Bram Schoenmakers authored
      6691d349
    • Bram Schoenmakers's avatar
      Speed up 'ls' a bit (and also lsprj, lscon). · 8cd2afd0
      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.).
      8cd2afd0
    • Bram Schoenmakers's avatar
      Don't write to the filesystem when trimming. · 71e45f5a
      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.
      71e45f5a
    • Bram Schoenmakers's avatar
      Remove restriction of equal lines before and after editing · 4d7150a0
      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.
      4d7150a0
  2. 28 Oct, 2015 1 commit
  3. 24 Oct, 2015 3 commits
  4. 23 Oct, 2015 5 commits
  5. 22 Oct, 2015 3 commits
    • Jacek Sowiński's avatar
      Save `edit` result only when tempfile was modified · f1770b95
      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.
      f1770b95
    • Jacek Sowiński's avatar
      Sanitize defaults in topydo.lib.Config._Config · 1ed31367
      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`.
      1ed31367
    • Bram Schoenmakers's avatar
  6. 16 Oct, 2015 1 commit
  7. 15 Oct, 2015 5 commits
    • Bram Schoenmakers's avatar
      Merge pull request #47 from mruwek/undo · 6838c011
      Bram Schoenmakers authored
      Introduce backup feature and `revert` command
      6838c011
    • Jacek Sowiński's avatar
      7bf730a9
    • Jacek Sowiński's avatar
      Add "revert" command · 565d0203
      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.
      565d0203
    • Jacek Sowiński's avatar
      Add possibility for creating backups of todolist · b8f99e6e
      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.
      b8f99e6e
    • Jacek Sowiński's avatar
      Add "replace" method for TodoList objects · 4936565d
      Jacek Sowiński authored
      This will be used to recreate TodoList from a list of Todo objects.
      4936565d
  8. 13 Oct, 2015 2 commits
  9. 12 Oct, 2015 1 commit
    • MinchinWeb's avatar
      Fix Wheel building · 40c6de43
      MinchinWeb authored
      Evaluate conditional requirements at install time rather than compile time.
      40c6de43
  10. 09 Oct, 2015 12 commits