1. 20 Jun, 2015 1 commit
    • Bram Schoenmakers's avatar
      Make 'topydo ls foo:somestring' work. · 7df85792
      Bram Schoenmakers authored
      If there was a todo with 'foo:somestring', it wouldn't be returned with
      the command above, because somestring couldn't be converted to a date or
      an integer, and therefore the OrdinalTagFilter just returns False.
      
      As a final fallback, use a GrepFilter match to do the string comparison
      such that the todo item(s) with this key:value combination will be
      returned.
      7df85792
  2. 18 Jun, 2015 2 commits
  3. 13 Jun, 2015 1 commit
  4. 12 Jun, 2015 4 commits
  5. 11 Jun, 2015 3 commits
  6. 10 Jun, 2015 2 commits
    • Bram Schoenmakers's avatar
      Fix for relative dates not always being calculated properly. · 14c47b24
      Bram Schoenmakers authored
      Fell into the trap of calling a function as a default parameter. Because
      of this, relative dates used with the 'add' or 'do' command (recurrence)
      were based on an offset when topydo was started, not when the subcommand
      was executed. Usually these two events occur in the same second and this
      bug was unnoticed for a long time. But now with prompt mode, this bug
      may surface if you leave running topydo for longer than a day.
      14c47b24
    • Jacek Sowiński's avatar
      Update tests for EditCommand · a842cb2c
      Jacek Sowiński authored
      - add test for direct todo.txt editing
      - remove unneceseary `u()`
      a842cb2c
  7. 09 Jun, 2015 3 commits
  8. 08 Jun, 2015 4 commits
    • Jacek Sowiński's avatar
      Expression-mode for del, depri, do, pri, postpone. · 0d2cedd8
      Jacek Sowiński authored
      This required some refactoring in MultiCommand and ExpressionCommand.
      
      Whole part about processing flags was refactored. Code related to flags
      from DCommand was moved into MultiCommand and reused from there in all
      "multi" commands.
      
      New attribute: ExpressionCommand.last_argument. Should be set to True if
      command is using the last argument as something other than todo ID or
      part of an expression (as in case of postpone or pri). By default set to
      False.
      
      New method: MultiCommand.execute_not_multi(): wrapper for functionality
      not connected with todo IDs (like `topydo edit` or `topydo edit -d`).
      
      New attribute: MultiCommand.multi_mode: Should be set to True if user
      wants to operate on multiple todo items. True by default.
      
      New method: MultiCommand.get_todos_from_expr(): gets todo IDs based on
      expression and puts it in MultiCommand.todos.
      
      EditCommand._open_in_editor() now accepts only one argument - file to
      editing. It handles now also OSError exceptions. It is used also to
      opening todo.txt and done.txt.
      
      MultiCommand.get_todos() doesn't accept anymore todo IDs as an argument.
      Instead it's using inherited Expression.last_argument` to decide upon
      where to find todo IDs.
      0d2cedd8
    • Jacek Sowiński's avatar
      Tiny rename inside `DCommand.process_flags()` · b9615d52
      Jacek Sowiński authored
      Now desired result of DCommand.get_flags() should be more apparent.
      b9615d52
    • Jacek Sowiński's avatar
      Move DCommand from commands to lib · 9b12ab96
      Jacek Sowiński authored
      9b12ab96
    • Jacek Sowiński's avatar
      Unify calling the editor in EditCommand · 187e9ed8
      Jacek Sowiński authored
      Now every call to editor is done by `EditCommand._open_in_editor()` and
      whole process of getting editor name is also done there.
      187e9ed8
  9. 07 Jun, 2015 1 commit
    • Bram Schoenmakers's avatar
      Fix infinite loop with keep_sorted = 1. · 9d33afef
      Bram Schoenmakers authored
      When a subcommand finishes, _post_excecute() is called for sorting,
      archiving and writing the file. But sorting is also a subcommand, which
      in turn also calls _post_execute(), etc, etc.
      
      So let the caller of _execute() decide when to call _post_execute.
      
      This fixes issue #46.
      9d33afef
  10. 06 Jun, 2015 12 commits
  11. 04 Jun, 2015 3 commits
  12. 03 Jun, 2015 4 commits