Metadata-Version: 2.1
Name: notmuchtask
Version: 0.0.3
Summary: Sync mails in notmuch with taskwarrior
Home-page: https://github.com/neuhalje/notmuch-task
Author: Jens Neuhalfen
Author-email: jens@neuhalfen.name
License: MIT
Description: mail to taskwarrior
        #######################
        
        .. image:: https://travis-ci.org/neuhalje/notmuch-task.svg?branch=master
            :target: https://travis-ci.org/neuhalje/notmuch-task
        
        Linking mails (mutt, neomutt) to taskwarrior tasks and the other way around by utilising notmuch.
        
        - Create tasks from (neo)mutt with one command
        - Find tasks already assigned to e-mails
        
        
        Installing
        **************
        
        ``pip install notmuchtask``
        
        
        Usage
        =============
        
        ``notmuchtask`` links e-mails to tasks in taskwarrior. This is done by assigning notmuch tags to the e-mails.
        
        cli
        **************
        
        Finding tasks
        ===============
        
        The ``find-task`` command will find the task(s) assigned to a message
        
        .. code:: shell
        
          # reading the message from stdin
          cat test.eml|notmuchtask  find-task
          99c0768c-2dbd-4c8b-9b74-afe610653dd1
        
          # or reading the message by path
          notmuchtask  find-task test.eml
        
        Exit codes
        -----------
        
        0
          Command ran successfully. The task-id has been written to stdout
        90
          An unexpected error has occured
        91
          File not found. The file passed could not be opened
        92
          The message(-id) could not be found in notmuch
        93
          The task could not be found
        
        Creating tasks
        ===============
        
        The ``find-or-create-task`` command will find the task(s) assigned to a
         message and will create a new task if needed.
        
        .. code:: shell
        
          # reading the message from stdin
          cat test.eml|notmuchtask  find-or-create-task
          # the first time a new task is created with the subject as title
          99c0768c-2dbd-4c8b-9b74-afe610653dd1
        
          cat test.eml|notmuchtask  find-or-create-task
          # the second time no new task is created
          99c0768c-2dbd-4c8b-9b74-afe610653dd1
        
          # or reading the message by path
          notmuchtask  find-or-create-task test.eml
          99c0768c-2dbd-4c8b-9b74-afe610653dd1
        
        
        Exit codes
        -----------
        
        0
          Command ran successfully. The task-id has been written to stdout
        90
          An unexpected error has occurred
        91
          File not found. The file passed could not be opened
        92
          The message(-id) could not be found in notmuch
        
        (neo)mutt
        **************
        
        Add this to your ``.muttrc``:
        
        .. code:: text
        
          # Make sure that there are no spaces at the beginning of the line
          macro index,pager <F8> \
          "<enter-command>set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key<enter>\
          <pipe-message>notmuchtask --debug find-or-create-task<enter>\
          <enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \
          "notmuchtask: assign mail to a task"
        
        
        
        configuring
        *************
        
        notmuchtask can be configured by a config file:
        
        .. code:: ini
        
          [tags]
          # notmuchtask uses notmuch tags to link messages to tasks
          # `prefix` is used as a prefix to the taskid. E.g.
          # if prefix is set to 'taskid:', and the task
          # e1544da8-8b9b-4bda-b4bc-8642c5627b59 is linked to the message
          # the tag 'taskid:e1544da8-8b9b-4bda-b4bc-8642c5627b59' is set on the
          # message.
          # default: taskid:
          prefix = taskid:
        
          [taskwarrior]
          # Executable
          #
          executable = task
        
        The following config files are evaluated, the first found configfile is used:
        
        #. The file passed with ``--configfile``
        
        #. The file pointed to by the environment variable ``NOTMUCHTASKRC``
        
        #.  ``~/.notmuchtask.conf``
        
        Develop
        =============
        
        Tidbits about development.
        
        Run DEV version
        ****************
        
        For testing purposes you can run the code directly from the repository:
        
        .. code:: shell
        
          # Setup the virtual environment
          # Install site package with python3 bindings for notmuch
          apt install python3-notmuch
          pipenv --rm  # just in case
          pipenv --python 3.6 --site-packages
          pipenv install --dev
        
        .. code:: shell
        
          # run the code
          pipenv shell
          pip install --editable .
        
          notmuchtask --help
        
        TODOs
        ****************
        
        Known Bugs
        ============
        
        * Mails with non-utf-8 charset fail to parse
        * Messages without subject fail to parse
        
        Ideas
        ============
        
        Prio A (must), B (should), C (maybe never .. )
        
        * (A) Passthrough commands: enter the command for the task for a mail
        * (A) Edit task description on creation
        * (B) Use taskwarriors UDAs to store the message ID
        * (B) Transaction with task and notmuch incl. locking
        * (C) Virtual folder to include tasks in mutt (??) (FUSE?)
        
        Changelog
        =========
        
        Version 0.0.3 (2019-05-22)
        --------------------------
        
        * Release for internal testing
        * Improved handling of non-standard e-mails
        
        Version 0.0.2 (2019-05-20)
        --------------------------
        
        * Release for internal testing
        
        Version 0.0.1 (2019-05-19)
        --------------------------
        
        * Initial test release
        
Platform: UNKNOWN
Classifier: Development Status :: 1 - Planning
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Requires-Python: >=3.5
Description-Content-Type: text/x-rst
