Metadata-Version: 2.4
Name: radicale-remind
Version: 0.7.1
Summary: Radicale Remind, Abook and Taskwarrior storage backend
Home-page: https://github.com/jspricke/radicale-remind
Author: Jochen Sprickerhof
Author-email: radicale@jochen.sprickerhof.de
License: GPLv3+
Keywords: Radicale
Classifier: Programming Language :: Python
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Topic :: Office/Business :: Groupware
License-File: LICENSE
Requires-Dist: Radicale
Requires-Dist: abook
Requires-Dist: icstask
Requires-Dist: remind
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: requires-dist
Dynamic: summary

Radicale Remind Storage
=======================

Radicale storage backends providing a two way sync for Remind, Abook and
Taskwarrior. Remind files included from the main file are exported as
individual iCal calendars, Taskwarrior projects as individual iCal todo lists.
Also see the limitations sections for `Remind limitations
<https://github.com/jspricke/python-remind#known-limitations>`_ and
`Taskwarrior limitations
<https://github.com/jspricke/python-icstask#known-limitations>`_ for what can
be converted.

Dependencies
------------

* `Radicale <https://radicale.org>`_
* `python-remind <https://github.com/jspricke/python-remind>`_
* `Remind <https://dianne.skoll.ca/projects/remind/>`_
* `python-abook <https://github.com/jspricke/python-abook>`_
* `python-icstask <https://github.com/jspricke/python-icstask>`_
* `Taskwarrior <https://taskwarrior.org>`_

Installation
------------

You need to have the Remind and Taskwarrior command line tools installed if you
want to use the respective adapters. For Debian/Ubuntu use::

  $ sudo apt-get install remind taskwarrior

Using pip
~~~~~~~~~

::

  $ pip install radicale-remind

This will install all Python dependencies as well.

Using python-setuptools
~~~~~~~~~~~~~~~~~~~~~~~

::

  $ python3 setup.py install


Config
------

::

  [server]
  hosts = 0.0.0.0:5232

  [auth]
  type = none

  [rights]
  type = from_file
  file = /home/user/.config/radicale/rights
  
  [storage]
  type = radicale_remind
  filesystem_folder = /home
  remind_file = /home/user/.reminders
  abook_file = /home/user/.abook/addressbook
  task_folder = /home/user/.task

Put this into ``/home/user/.config/radicale/config`` (replace ``/home/user`` by your ``$HOME``).
The ``remind_file``, ``abook_file`` and ``task_folder`` are optional, and can be removed if not used.

The ``filesystem_folder`` must be the absolute file path up until your user directory. 
This will typically be ``/home``.  

::

  # Allow reading root collection for authenticated users
  [root]
  user: .+
  collection:
  permissions: R

  # Allow reading and writing principal collection (same as username)
  [principal]
  user: .+
  collection: {user}
  permissions: RW

  # Allow reading and writing calendars and address books that are
  # children of the principal collection
  [calendars]
  user: .+
  collection: {user}/.*
  permissions: rw

Put this into ``/home/user/.config/radicale/rights``.
This is modified from ``owner_only`` and needed to allow access to collections with a slash in the name like ``.abook/addressbook/``.
Please read the `Radicale documentation <https://radicale.org/master.html#documentation>`_ for how to set up secure connections and authentication.

Run
---

::

  $ radicale

Add ``http://hostname:5232`` to your CalDAV clients, like `DAVx⁵ <https://www.davx5.com/>`_ available in `F-Droid <https://f-droid.org/packages/at.bitfire.davdroid/>`_.


Client test
-----------

::

  $ curl -u user:password -X PROPFIND -H "Depth: 1" -d "<propfind><prop></prop></propfind>" "http://localhost:5232"
  $ curl -u user:password "http://localhost:5232/user/.reminders/"
  $ curl -u user:password "http://localhost:5232/user/.abook/addressbook/"
  $ curl -u user:password "http://localhost:5232/user/.task/all_projects/"

Note that the trailing slash is required for all paths (directories and singular files). 
The trailing slashes are not required in your ``radicale`` conf.
