From 5582112029475aa65c33fc687700fd91d6ce5c73 Mon Sep 17 00:00:00 2001 From: Peter Bieringer Date: Sun, 29 Jun 2025 08:32:07 +0200 Subject: [PATCH] add support functions for retrieving path owner/group/permissions --- radicale/pathutils.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/radicale/pathutils.py b/radicale/pathutils.py index 46306b2e..31d1845f 100644 --- a/radicale/pathutils.py +++ b/radicale/pathutils.py @@ -23,6 +23,7 @@ Helper functions for working with the file system. import errno import os +import pathlib import posixpath import sys import threading @@ -314,3 +315,14 @@ def name_from_path(path: str, collection: "storage.BaseCollection") -> str: raise ValueError("%r is not a component in collection %r" % (name, collection.path)) return name + + +def path_permissions(path): + path = pathlib.Path(path) + return [path.owner(), path.group(), path.stat().st_mode] + + +def path_permissions_as_string(path): + pp = path_permissions(path) + s = "path=%r owner=%s group=%s mode=%o" % (path, pp[0], pp[1], pp[2]) + return s