[Calypso] [PATCH] Add support for addressbook-description and calendar-description attributes.
Guido Günther
agx at sigxcpu.org
Tue Jan 12 23:14:23 PST 2016
On Wed, Jan 13, 2016 at 02:22:27AM +0000, Jelmer Vernooij wrote:
> From: Jelmer Vernooij <jelmer at samba.org>
>
> See RFC4791, par 5.2.1.
> ---
> calypso/webdav.py | 7 +++++++
> calypso/xmlutils.py | 7 +++----
> 2 files changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/calypso/webdav.py b/calypso/webdav.py
> index b533a57..238067a 100644
> --- a/calypso/webdav.py
> +++ b/calypso/webdav.py
> @@ -232,6 +232,13 @@ class CalypsoError(Exception):
> class Collection(object):
> """Internal collection class."""
>
> + def get_description(self):
> + f = codecs.open(os.path.join(self.path, ".git/description"), encoding='utf-8')
> + try:
> + return f.read()
> + finally:
> + f.close()
> +
> def read_file(self, path):
> text = codecs.open(path,encoding='utf-8').read()
> item = Item(text, None, path)
> diff --git a/calypso/xmlutils.py b/calypso/xmlutils.py
> index 3dfbcff..f9d73d7 100644
> --- a/calypso/xmlutils.py
> +++ b/calypso/xmlutils.py
> @@ -218,10 +218,9 @@ def propfind(path, xml_request, collection, depth, context):
> tag = ET.Element(_tag("D", "href"))
> tag.text = config.get("server", "user_principal") % context
> element.append(tag)
> - elif tag == _tag("A", "addressbook-description") and is_collection:
> - element.text = collection.read_file(".git/description")
> - elif tag == _tag("C", "calendar-description") and is_collection:
> - element.text = collection.read_file(".git/description")
> + elif tag in (_tag("A", "addressbook-description"),
> + _tag("C", "calendar-description")) and is_collection:
> + element.text = collection.get_description()
> prop.append(element)
>
> status = ET.Element(_tag("D", "status"))
ACK. Pease apply.
Cheers,
-- Guido
More information about the Calypso
mailing list