Skip to main content

A command line tool managing all sorts of TODO lists

Project description

pda is a command line tool used to manage useful lists in your daily ife - such as TODO, TOLEARN and TOREAD lists, etc. You can use it to create as many lists as you want.

Install

$ sudo pip install pda

Or (but not recommended):

$ sudo easy_install pda

Synopsis

List names can be any string you want, personally I have todo, tolearn and toread as available list names. List data is always stored locally. And, depends on the Configuration Setting in your configuration file (~/.pdaconfig), list data can also be synced to Github Issue and accessed through pda; that is how you make your todo list(s) portable via web interface.

If no configuration file is provided, pda assumes it is to be used only locally; in other words, no data will be put on Github Issues.

For more detailed usage:

CREATE tasks

To add (-a option) a task in a list. If list with listname has not yet created, this command will automatically create such list in database. See example below:

# Command format:
#
# $ pda -a <task summary text> <-t PERIOD> <-p PRIORITY> <listname>
#
# ===> add a task in a list named <listname>
#
# <-t> specifies the time frame this task is scheduled to
#      allowed values are => d (day), w (week), m (month), s (season), y (year)
#
# <-p> specifies the priority of this task
#      allowed values are => 1 (low), 2 (medium), 3 (high), 4 (must), 5 (urgmust)
#
# For example: add a 'wash dishes' task with due time current 'day' and
#              priority 'must' in 'todo' list

$ pda -a 'wash dishes' -t d -p 4 todo

UPDATE tasks

All the attributes of a task can be changed to the specified values in the options. If a value with an option is not specified in the command, then the corresponding attribute in list will stay unchanged.

# Command format:
#
# $ pda -r <N>
#
# ===> delete a task numbered <N>
#
# For example: remove a task with task number 5

$ pda -r 5

# Command format:
#
# $ pda -e <N> -s <task summary text> <-t PERIOD> <-p PRIORITY> <listname>
#
# ===> update a task numbered <N> in a list named <listname>
#
# <-s> specifies the NEW task summary
#
# <-t> specifies the NEW time frame this task is scheduled to
#      allowed values are => d (day), w (week), m (month), s (season), y (year)
#
# <-p> specifies the NEW priority of this task
#      allowed values are => 1 (low), 2 (medium), 3 (high), 4 (must), 5 (urgmust)
#
# <lisname> specifies the NEW list this task belongs to
#
# For example: edit/update a task number 3 with a new task summary
#              'vacuum floor this week' and its due time to current week

$ pda -e 3 -s 'vacuum floor this week' -t w

QUERY lists

To list ALL the tasks stored in the database:

$ pda

To list ALL the tasks belongs to the list named todo:

$ pda todo

To list ALL the tasks belongs to time frame month:

$ pda -tm

To list ALL the tasks which have priority urgmust (urgent must):

$ pda -p5

To list ALL the tasks which belongs to time frame week and have priority high and belongs to the list named toread:

$ pda -tw -p3 toread

Configuration Setting

pda can be configured by a configuration file named .pdaconfig reside in your home directory. If no such file is present, then pda simply use some default settings internally, and behave only in local mode; meaning data is only stored locally.

To make pda operate in remote mode (meaning the data is stored both locally and remotely on Github Issues), you need to set several parameters in the configuration file.

See an example configuration file below:

# a typical configuration file contains two sections: [pda] and [github]

[pda]
; the local database where pda will store its data
database-path = /tmp/.pdastore

[github]
; username on github
username   = your_github_username

; the name of the repository where you want to store your list data
repo-name  = your_github_reponame

; authentication token for a Github application which pda will use
; to communitcate with Github Issues API, see link below:
; https://help.github.com/articles/creating-an-access-token-for-command-line-use
auth-token = your_github_app_token

Release History

0.1.6 (2014-04-05)

  • Refined README.rst to provide instructions for .pdaconfig file.

0.1.5 (2014-04-04)

  • Refined README.rst.

0.1.4 (2014-04-01)

  • Fixed broken reStructuredText.

0.1.3 (2014-04-01)

  • Removed unused import PdaConfig.

  • Fixed sync_remote_dbstore method bug for transition between local mode and remote mode.

  • Fixed max_task_number attribute getter for shelve is empty.

0.1.2 (2014-03-31)

  • Fixed format string bug (#50) to be compatible with python 2.6.

0.1.1 (2014-03-30)

  • Removed debugging assert statements.

0.1.0 (2014-03-30)

  • Birth!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pda-0.1.6.tar.gz (14.9 kB view hashes)

Uploaded Source

Built Distribution

pda-0.1.6-py27-none-any.whl (15.3 kB view hashes)

Uploaded Python 2.7

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page