If the ACL for a locker isn't accessible, assume it's empty (closes #82)
authorEvan Broder <broder@mit.edu>
Mon, 20 Oct 2008 17:43:09 +0000 (13:43 -0400)
committerEvan Broder <broder@mit.edu>
Mon, 20 Oct 2008 17:43:09 +0000 (13:43 -0400)
svn path=/trunk/packages/sipb-xen-www/; revision=1154

code/getafsgroups.py

index 13f8cf7..c775a01 100644 (file)
@@ -48,10 +48,15 @@ def getCell(locker):
     return p.stdout.read().split()[-1][1:-1]
 
 def getLockerAcl(locker):
     return p.stdout.read().split()[-1][1:-1]
 
 def getLockerAcl(locker):
-    p = subprocess.Popen(["fs", "listacl", getLockerPath(locker)], 
-                         stdout=subprocess.PIPE, stderr=subprocess.PIPE)
-    if p.wait():
-        raise AfsProcessError(p.stderr.read())
+    try:
+        p = subprocess.Popen(["fs", "listacl", getLockerPath(locker)], 
+                             stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+        if p.wait():
+            raise AfsProcessError(p.stderr.read())
+    except AfsProcessError, e:
+        if e.message.startswith("fs: You don't have the required access rights on"):
+            return []
+        raise
     lines = p.stdout.readlines()
     values = []
     for line in lines[1:]:
     lines = p.stdout.readlines()
     values = []
     for line in lines[1:]: