X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/python-afs.git/blobdiff_plain/5f5cebd0db4f7c3723d5cf916f5d9d78eab87962..c7607e2c1d074431922b99adb8b83c3fa8c16ae7:/afs/acl.py diff --git a/afs/acl.py b/afs/acl.py index a245aa2..da0821f 100644 --- a/afs/acl.py +++ b/afs/acl.py @@ -4,11 +4,11 @@ from _acl import READ, WRITE, INSERT, LOOKUP, DELETE, LOCK, ADMINISTER, \ from _acl import getCallerAccess _canonical = { - "read": "rl", - "write": "rwlidwk", - "all": "rwlidwka", - "mail": "lik", - "none": "", + "read": "rl", + "write": "rwlidwk", + "all": "rwlidwka", + "mail": "lik", + "none": "", } _charBitAssoc = [ @@ -32,27 +32,11 @@ _charBitAssoc = [ _char2bit = dict(_charBitAssoc) -def crights(s): +def readRights(s): """Canonicalizes string rights to bitmask""" if s in _canonical: s = _canonical[s] return _parseRights(s) -class ACL(object): - def __init__(self, pos, neg): - """ - ``pos`` - Dictionary of usernames to positive ACL bitmasks - ``neg`` - Dictionary of usernames to negative ACL bitmasks - """ - self.pos = pos - self.neg = neg - @staticmethod - def retrieve(dir,follow=1): - """Retrieve the ACL for an AFS directory""" - pos, neg = _parseAcl(_acl.getAcl(dir, follow)) - return ACL(pos, neg) - def showRights(r): """Takes a bitmask and returns a rwlidka string""" s = "" @@ -86,3 +70,19 @@ def _parseAcl(inp): neg[name] = int(acl) return (pos, neg) +class ACL(object): + def __init__(self, pos, neg): + """ + ``pos`` + Dictionary of usernames to positive ACL bitmasks + ``neg`` + Dictionary of usernames to negative ACL bitmasks + """ + self.pos = pos + self.neg = neg + @staticmethod + def retrieve(dir, follow=1): + """Retrieve the ACL for an AFS directory""" + pos, neg = _parseAcl(_acl.getAcl(dir, follow)) + return ACL(pos, neg) +