tasklib icon indicating copy to clipboard operation
tasklib copied to clipboard

Support lte, gte filtering on attributes

Open onlyphantom opened this issue 2 years ago • 0 comments

First of all, thank you for the work you've done on this!

For a task with a custom UDA such as project duration (duration) in man-days, or number of resources (resources), I think it would be helpful to filter those tasks in a Django ORM-like manner.

Example of the API:

from tasklib import TaskWarrior
tw = TaskWarrior(data_location="~/vaults/tasks")
tw.tasks.pending().get(duration__gte=7)

This will query any pending tasks with a duration value of 7 or more.

This is very consistent to the current behavior as documented officially:

tw.tasks.pending().get(tags__contain='work')

Currently, the work-around is to read all tasks in a for-loop and then do a conditional check, but I thought this would be a much appreciated feature. What do you guys think?

onlyphantom avatar Mar 17 '22 12:03 onlyphantom