[Calypso] [PATCH] Add support for per calendar colors.
Guido Günther
agx at sigxcpu.org
Tue Jan 12 23:15:39 PST 2016
On Wed, Jan 13, 2016 at 02:34:44AM +0000, Jelmer Vernooij wrote:
> From: Jelmer Vernooij <jelmer at jelmer.uk>
>
> ---
> calypso/webdav.py | 7 +++++++
> calypso/xmlutils.py | 3 +++
> 2 files changed, 10 insertions(+)
>
> diff --git a/calypso/webdav.py b/calypso/webdav.py
> index 238067a..4db8575 100644
> --- a/calypso/webdav.py
> +++ b/calypso/webdav.py
> @@ -563,6 +563,13 @@ class Collection(object):
> self.scan_dir(False)
> return self.my_items
>
> + def get_color(self):
> + """Color."""
> + try:
> + return "#%s" % self.metadata.get('collection', 'color')
> + except (ConfigParser.NoSectionError, ConfigParser.NoOptionError, ValueError):
> + return None
> +
> @property
> def last_modified(self):
> """Get the last time the collection has been modified.
> diff --git a/calypso/xmlutils.py b/calypso/xmlutils.py
> index f9d73d7..e94a5e9 100644
> --- a/calypso/xmlutils.py
> +++ b/calypso/xmlutils.py
> @@ -48,6 +48,7 @@ NAMESPACES = {
> "C": "urn:ietf:params:xml:ns:caldav",
> "A": "urn:ietf:params:xml:ns:carddav",
> "D": "DAV:",
> + "E": "http://apple.com/ns/ical/",
> "CS": "http://calendarserver.org/ns/"}
>
> log = logging.getLogger(__name__)
> @@ -179,6 +180,8 @@ def propfind(path, xml_request, collection, depth, context):
> element.text = item.etag
> elif tag == _tag("D", "displayname") and is_collection:
> element.text = collection.name
> + elif tag == _tag("E", "calendar-color") and is_collection:
> + element.text = item.get_color()
> elif tag == _tag("D", "principal-URL"):
> # TODO: use a real principal URL, read rfc3744-4.2 for info
> tag = ET.Element(_tag("D", "
ACK. Please apply.
Cheers,
-- Guido
More information about the Calypso
mailing list