Parcourir la source

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 il y a 1 an
Parent
commit
5ec9aaec07
1 fichiers modifiés avec 6 ajouts et 0 suppressions
  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: