فهرست منبع

Improve documentation

Unrud 8 سال پیش
والد
کامیت
070a39a51d
3فایلهای تغییر یافته به همراه21 افزوده شده و 3 حذف شده
  1. 5 1
      radicale/rights.py
  2. 4 2
      radicale/storage.py
  3. 12 0
      radicale/web.py

+ 5 - 1
radicale/rights.py

@@ -79,7 +79,11 @@ class BaseRights:
     def authorized(self, user, path, permission):
         """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

+ 4 - 2
radicale/storage.py

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

+ 12 - 0
radicale/web.py

@@ -67,6 +67,18 @@ class BaseWeb:
         self.configuration = configuration
         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):
     def get(self, environ, base_prefix, path, user):