Răsfoiți Sursa

add support functions for retrieving path owner/group/permissions

Peter Bieringer 7 luni în urmă
părinte
comite
5582112029
1 a modificat fișierele cu 12 adăugiri și 0 ștergeri
  1. 12 0
      radicale/pathutils.py

+ 12 - 0
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