Skip to content

Support lte, gte filtering on attributes #111

Open
@onlyphantom

Description

@onlyphantom

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions