Giter VIP home page Giter VIP logo

todotxtio's Introduction

Todo.txt I/O

A simple Python module to parse, manipulate and write Todo.txt data.

Python versions Version License

This module tries to comply to the Todo.txt specifications (disclaimer: there aren't any unit tests).

Documentation

Everything you need to know is located here.

Changelog

See here.

End words

If you have questions or problems, you can submit an issue.

You can also submit pull requests. It's open-source man!

todotxtio's People

Contributors

epocdotfr avatar strubbl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

todotxtio's Issues

Make Todo's comparable to allow for sorting?

First: Thanks for writing and publishing a cool package!

I started using todotxtio for a little project of mine where I needed something to parse my todo.txt and while playing around with it I noticed that Todo objects are not comparable and thus can't easily be sorted using list.sort() or sorted(). Since this was functionality I was missing I implemented a very rough and NOT production/pull ready sketch of this using functools total_ordering decorator.

Only afterwards I read Issue #2, which I interpret to mean that not adding comparability was intentional and so I figured I open up a new issue and, well, ask:

Is the fact that Todo objects are not comparable to each other the way things are supposed to work or would you accept a PR to add that functionality?

Creation dates on tasks with priority are "None"

I wrote this up, then noticed @MaurizioBruetsch had a merge request for "Fix creation_date bug #14" Perhaps this is the same issue. Perhaps this has value as a demonstration of the issue.

Using todotxtio 0.2.3

If the todo has a priority assigned and a creation_date, the creation_date is loaded with None.

My code reduced to a simple example:

todo_creation_date_bug.py

#!/usr/bin/python3

todofile = 'todo_creation_date_bug.txt'

import sys
import todotxtio

todos = todotxtio.from_file(todofile)

for todo in todos:
   print(todo, todo.creation_date)

todo_creation_date_bug.txt

(A) 2019-12-31 task with priority, creation date
2019-12-31 task with no priority, creation date
(A) task with priority, no creation date
task with no priority, no creation date

run it

$ ./todo_creation_date_bug.py
(A) task with priority, creation date None
2019-12-31 task with no priority, creation date 2019-12-31
(A) task with priority, no creation date None
task with no priority, no creation date None
$ 

analysis

The first line was: (A) task with priority, creation date None
I expected: (A) task with priority, creation date 2019-12-31

Detection of projects and context fails if either is first word in task

Let's assume i have the following task:
2018-05-19 +read webpage http://todotxt.org/ +background

todotxtio recognizes the project background very well, but it does not recognize read as a project. This is due to the regular expression, which needs a space in front of a project/context.
It seems that during parsing of tasks this is not given, if the project/context is directly at the beginning of a task or if the project/context directly followings a date.

NOTICE: this project is abandoned and is no longer maintained

Dear developers,

I regret to inform you this project is abandoned and is no longer maintained, it has thus been archived. I no longer have interest for the Todo.txt file format.

Feel free to create a fork, publish on PyPI or whatever you want as long as it's complying with the license.

Thanks to the past contributors.

Best regards,

Maxime

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.