Clean support of public calendars, add support of private calendars

This commit is contained in:
Guillaume Ayoub
2011-06-13 22:15:52 +02:00
parent a28bd4a5fa
commit f9836ab093
7 changed files with 42 additions and 13 deletions

View File

@@ -29,11 +29,27 @@ configuration.
from radicale import config
PUBLIC_USERS = []
PRIVATE_USERS = [None]
def _config_users(name):
"""Get an iterable of strings from the configuraton string [acl] ``name``.
The values must be separated by a comma. The whitespace characters are
stripped at the beginning and at the end of the values.
"""
return (user.strip() for user in config.get("acl", name).split(","))
def load():
"""Load list of available ACL managers."""
acl_type = config.get("acl", "type")
if acl_type == "None":
return None
else:
PUBLIC_USERS.extend(_config_users("public_users"))
PRIVATE_USERS.extend(_config_users("private_users"))
module = __import__("radicale.acl", fromlist=[acl_type])
return getattr(module, acl_type)