[Calypso] Switch to python3

Dominik 'Rathann' Mierzejewski dominik at greysector.net
Wed Mar 11 15:15:09 PDT 2020


Hello, Keith.
I've been looking for a self-hosted CalDAV server software for some time
and calypso caught my interest.

On Saturday, 16 March 2019 at 18:51, Keith Packard wrote:
[...]
> I've tentatively versioned this as 2.0; if anyone is up to test or
> review the code, that would be awesome.

I did install the latest git HEAD (7317d88) and it seems to be working
more or less fine on Fedora 31. I'm considering creating and maintaining
an official Fedora RPM package for calypso, but I do have some questions
and comments:
1. setup.py tries to download https://pypi.org/project/daemon/
instead of https://pypi.org/project/python-daemon/ while the code
clearly depends on the latter. The attached patch solves the issue for
me.
2. When I try to run calypso as a daemon (calypso -d), it dies
after 10 seconds. I have vobject-0.9.6.1 and daemon-2.2.3 installed.
Python3 3.7.6 is the interpreter.
3. I get "Request timed out" message immediately after almost every
client operation, e.g.:
Mar 11 20:05:14 calypso[60301]: 172.16.20.35 - - [11/Mar/2020 20:05:09] "REPORT /Dominik/ HTTP/1.1" 207 -
Mar 11 20:05:14 calypso[60301]: Request timed out: timeout('The read operation timed out')
4. There's no support for starting as root and dropping privileges
later. This would be useful for listening on a privileged port and using
a root-accessible TLS keyfile for TLS support.
5. Is there any support for calendar colours? All entries in all
calendars hosted on calypso are shown in green in Android calendar
applications (e.g. LineageOS's built-in calendar app and Etar). I'm
using DAVx⁵ for calendar syncing in Android.
6. I wrote a basic systemd unit, which I'm attaching as well.

Regards,
Dominik
-- 
Fedora   https://getfedora.org  |  RPM Fusion  http://rpmfusion.org
There should be a science of discontent. People need hard times and
oppression to develop psychic muscles.
        -- from "Collected Sayings of Muad'Dib" by the Princess Irulan
-------------- next part --------------
diff -up calypso-2.0/setup.py.daemon calypso-2.0/setup.py
--- calypso-2.0/setup.py.daemon	2020-03-02 18:15:00.000000000 +0100
+++ calypso-2.0/setup.py	2020-03-11 20:31:03.786431712 +0100
@@ -77,7 +77,7 @@ setup(
     platforms="Any",
     packages=["calypso", "calypso.acl"],
     provides=["calypso"],
-    install_requires=["daemon","vobject"],
+    install_requires=["python-daemon","vobject"],
     tests_require=['nose>=0.11.1'],
     scripts=["calypso.py"],
     cmdclass={"build_scripts": BuildScripts},
-------------- next part --------------
[Unit]
Description=CalDAV/CardDAV server with git storage
After=network-online.target
Documentation=man:calypso

[Service]
Type=simple
User=calypso
Group=calypso
PrivateTmp=yes
ExecStart=/usr/bin/calypso

[Install]
WantedBy=multi-user.target


More information about the Calypso mailing list