Explorar o código

Add custom Radicale DAV property getcontentcount

This adds a custom Radicale DAV property called 'getcontentcount' which returns the number of entries contained within that collection.
MatthewHana hai 1 ano
pai
achega
5ec9aaec07
Modificáronse 1 ficheiros con 6 adicións e 0 borrados
  1. 6 0
      radicale/app/propfind.py

+ 6 - 0
radicale/app/propfind.py

@@ -272,6 +272,12 @@ def xml_propfind_response(
                     element.text = displayname
                 else:
                     is404 = True
+            elif tag == xmlutils.make_clark("RADICALE:getcontentcount"):
+                # Only for internal use by the web interface
+                if is_collection or is_leaf:
+                    element.text = str(sum(1 for entry in item.get_all()))
+                else:
+                    is404 = True
             elif tag == xmlutils.make_clark("D:displayname"):
                 displayname = collection.get_meta("D:displayname")
                 if not displayname and is_leaf: