1
0
Fork 0
mirror of https://github.com/topydo/topydo.git synced 2024-05-20 13:58:33 +00:00
Commit graph

1439 commits

Author SHA1 Message Date
Bram Schoenmakers 1e76a124dc Merge pull request #160 from mruwek/fix-fnf
Don't crash on FileNotFoundError with `add -f`
2017-01-20 12:19:55 +01:00
Jacek Sowiński 9cd39304cb Add test for fix of FileNotFoundError 2017-01-19 15:31:37 +01:00
Jacek Sowiński e7eacacd3b Don't crash on FileNotFoundError with add -f
Show descriptive error message instead.
2017-01-19 15:31:11 +01:00
Bram Schoenmakers b143187e13 Always use pip3 2017-01-18 11:40:03 +01:00
Bram Schoenmakers b6bdf90495 Fix synopsis of tag command 2017-01-15 13:20:51 +01:00
Bram Schoenmakers 64b40e1c7c Version bump to 0.12 2017-01-15 13:00:26 +01:00
Bram Schoenmakers 7ba9912cb8 Add -r flag to tag subcommand to enforce relative dates
Relative dates were already interpreted for due and start tags, but you
can also enforce it for other tags by passing the -r flag to the tag
command.
2017-01-12 09:16:29 +01:00
Bram Schoenmakers 5e626f620a Updated the README
* Extended the feature list.
* List the UIs.
* Added a screenshot of the column UI.
* Dropped information on dependencies, the user should not worry about
  this with pip. Or just look at setup.py.
2017-01-11 13:26:40 +01:00
Bram Schoenmakers 018e29a4cc Add README that points to topydo.org 2017-01-11 12:31:25 +01:00
Bram Schoenmakers 4436853048 When the last column is deleted, show the add column window 2017-01-10 15:41:43 +01:00
Bram Schoenmakers e91e9cabe6 Escape special characters in HTML like labels in Dot output
Todo items with " & < or > were not properly rendered because they were
not escaped.

Thanks to Jacob Leemaster for the bug report.
2017-01-10 13:01:42 +01:00
Bram Schoenmakers 25144172b3 Allow Python 3.6 to fail because of pylint issues 2017-01-10 09:13:39 +01:00
Bram Schoenmakers 8737faa1b0 Do not hide console output when pressing : after a command
Normally, pressing ':' after executing a command would hide the console
(equivalent behavior to Escape or Enter). Now, : will focus the
commandline while keeping the previous output visible. This makes it
easier to compose a new command based on a todo shown in the previous
output (for example perform an 'ls' and then a 'dep' with IDs
afterwards).

Escape and Enter still have the same behavior, which can be used to
dismiss the last output.
2017-01-06 10:05:21 +01:00
Bram Schoenmakers 4e6377befb Make Dot output deterministic 2017-01-05 15:20:26 +01:00
Bram Schoenmakers 9ad896855f Test run for Python 3.6 2017-01-05 14:56:11 +01:00
Bram Schoenmakers d91512fc28 Fix typo, as pointed out by @mruwek 2017-01-02 12:06:13 +01:00
Bram Schoenmakers 79bf6d5a48 Added a missing entry to the changelog. 2017-01-02 11:09:19 +01:00
Bram Schoenmakers 9780decf65 Fix execution of Coverage 2016-12-28 15:44:04 +01:00
Bram Schoenmakers 819105bc3e Version bump to 0.11 2016-12-28 15:02:54 +01:00
Bram Schoenmakers 25265e122f Merge branch 'master' of github.com:bram85/topydo 2016-12-16 19:55:32 +01:00
Bram Schoenmakers 9d0f961b75 Update changes 2016-12-15 13:30:08 +01:00
Bram Schoenmakers 3f3a6c4e22 Merge branch 'groups/master' 2016-12-15 13:06:54 +01:00
Bram Schoenmakers ca331b824c Add some corner cases for groups 2016-12-15 13:04:34 +01:00
Bram Schoenmakers 488d1abfd4 Only print headers for valid groups
When no valid grouping could be made, an empty header would be printed
(0 length group label, zero = characters below).

The empty tuple represents the initial grouping.
2016-12-15 13:02:41 +01:00
Bram Schoenmakers ca1d7c433b Add -g to the ls help 2016-12-06 13:30:54 +01:00
Bram Schoenmakers eac37bab39 Add tests for groups 2016-12-06 13:14:34 +01:00
Bram Schoenmakers 6383df7015 Initialize self_write
Fixes #153
2016-12-02 08:34:37 +01:00
Bram Schoenmakers d9ba217261 Second attempt to make humanize_date() more deterministic
This reverts the first attempt (commit
8310b0291f), because relative dates in terms of
hours were printed.

This attempt passes the now object that we just created to humanize(), so that
will be used as a offset. If we don't supply that object, arrow will create a
different datetime object representing 'now', which might be slightly off
w.r.t. the now object we created.  Therefore the floating point arithmetic done
within the arrow library might not produce the desired results (delta / 86400).

By passing the offset ourselves I was able to produce reliable
results.
2016-11-30 11:28:06 +01:00
Bram Schoenmakers 8310b0291f Pass date object directly to arrow for consistent humanized dates
With the previous method of using arrow, the same date object would
result in different humanized dates. Apparently using now() and then
replacing the date components triggers some inaccuracy.

Simplify the call to arrow by passing it the datetime object directly.
2016-11-29 17:03:08 +01:00
Bram Schoenmakers e94111436f Use the rounded value for importance for grouping purposes 2016-11-29 16:48:33 +01:00
Bram Schoenmakers b44d52be94 Add parameter to tag_value call 2016-11-29 14:07:58 +01:00
Bram Schoenmakers f69f42a010 Make default implementation of print_list return a string 2016-11-29 13:11:43 +01:00
Bram Schoenmakers 3e9f8eef2f Add default implementation for printing groups
It will simply gather all todo items in all groups and pass them to
print_list
2016-11-29 11:28:25 +01:00
Bram Schoenmakers 9a7b6df881 Group by relative dates (creation, completion, due, start/threshold) 2016-11-29 09:15:34 +01:00
Bram Schoenmakers fdac802e92 Remove default value for grouping 2016-11-28 11:45:05 +01:00
Bram Schoenmakers a414f07d1c Merge branch 'master' into groups 2016-11-28 11:41:36 +01:00
Bram Schoenmakers 3bb55c37cb Update docstring 2016-11-27 14:24:29 +01:00
Bram Schoenmakers 7805d35a37 Add group support to the column UI 2016-11-27 14:23:37 +01:00
Bram Schoenmakers 902ee5725b Return a group 'None' for todo items without group
When grouping by project, todo items without a project wouldn't be
listed (same for contexts).

Moreover, sort the projects such that the items without project are
shown at the bottom of the list.
2016-11-27 13:29:39 +01:00
Bram Schoenmakers 76d462552e Format the group headers 2016-11-26 14:42:08 +01:00
Bram Schoenmakers f9f4449f27 Remove dummy code 2016-11-26 14:41:45 +01:00
Bram Schoenmakers 05cdba77c8 Refactor get_field_function with giant if-else to dict lookups
Also, the label of a field is passed in the output of the group()
method.
2016-11-26 14:14:39 +01:00
Bram Schoenmakers 8ff2b1bfd7 Give groups proper names instead of internal representations 2016-11-26 12:35:26 +01:00
Bram Schoenmakers c9e1cd0d50 Also make sure that child items are printed in a deterministic order 2016-11-24 20:57:17 +01:00
Bram Schoenmakers 6a474492a3 Sort case insensitively on todo texts 2016-11-24 20:47:44 +01:00
Bram Schoenmakers 0de3e0a9a8 Rename variable so that it doesn't clash with method name 2016-11-24 20:34:02 +01:00
Bram Schoenmakers 1c11a56f93 Move sort algorithm outside class 2016-11-24 20:33:14 +01:00
Bram Schoenmakers 97b83c8444 Do not sort all todos when the items will be grouped
When grouping takes place, don't sort the full list of todo items first
and then group. Because the todos in the group won't necessarily match
the given sort expression, for those items which match multiple groups.

These are the steps instead:

1. Get all todo items
2. Filter them
3. Pre-order them according to the group expression
4. Split in groups using groupby()
5. Then sort the individual groups according to the sort expression
2016-11-24 19:42:22 +01:00
Bram Schoenmakers 69715c07ab Handle the case when no todo number is given to 'dep dot' 2016-11-24 13:30:30 +01:00
Bram Schoenmakers 36ce7ef1e8 Make the input for the printer deterministic by sorting it
Otherwise it's hard to test the output when the order differs on every
execution.
2016-11-24 13:30:09 +01:00