Improve documentation

This commit is contained in:
Unrud 2017-06-16 23:16:19 +02:00
parent 0cb6642ec3
commit 070a39a51d
3 changed files with 21 additions and 3 deletions

View File

@ -79,7 +79,11 @@ class BaseRights:
def authorized(self, user, path, permission): def authorized(self, user, path, permission):
"""Check if the user is allowed to read or write the collection. """Check if the user is allowed to read or write the collection.
If the user is empty, check for anonymous rights. If ``user`` is empty, check for anonymous rights.
``path`` is sanitized.
``permission`` is "r" or "w".
""" """
raise NotImplementedError raise NotImplementedError

View File

@ -334,14 +334,14 @@ class BaseCollection:
def discover(cls, path, depth="0"): def discover(cls, path, depth="0"):
"""Discover a list of collections under the given ``path``. """Discover a list of collections under the given ``path``.
``path`` is sanitized.
If ``depth`` is "0", only the actual object under ``path`` is If ``depth`` is "0", only the actual object under ``path`` is
returned. returned.
If ``depth`` is anything but "0", it is considered as "1" and direct If ``depth`` is anything but "0", it is considered as "1" and direct
children are included in the result. children are included in the result.
The ``path`` is relative.
The root collection "/" must always exist. The root collection "/" must always exist.
""" """
@ -373,6 +373,8 @@ class BaseCollection:
def create_collection(cls, href, collection=None, props=None): def create_collection(cls, href, collection=None, props=None):
"""Create a collection. """Create a collection.
``href`` is the sanitized path.
If the collection already exists and neither ``collection`` nor If the collection already exists and neither ``collection`` nor
``props`` are set, this method shouldn't do anything. Otherwise the ``props`` are set, this method shouldn't do anything. Otherwise the
existing collection must be replaced. existing collection must be replaced.

View File

@ -67,6 +67,18 @@ class BaseWeb:
self.configuration = configuration self.configuration = configuration
self.logger = logger self.logger = logger
def get(self, environ, base_prefix, path, user):
"""GET request.
``base_prefix`` is sanitized and never ends with "/".
``path`` is sanitized and always starts with "/.web"
``user`` is empty for anonymous users.
"""
raise NotImplementedError
class NoneWeb(BaseWeb): class NoneWeb(BaseWeb):
def get(self, environ, base_prefix, path, user): def get(self, environ, base_prefix, path, user):