def files(self): """Returns a dictionary of the form:: {'project' : {'path/to/file' : {'mode' : 'rw'}}} """ if not self.statusfile.exists(): return {} try: statusfile = LockFile(self.statusfile) statusinfo = statusfile.read() statusfile.close() except PULockError, e: raise LockError("Problem reading open file status: %s", str(e))
def users(self): """Returns a dictionary with the keys being the list of users with this file open and the values being the modes.""" statusfile = self.statusfile if statusfile.exists(): try: statusfile = LockFile(self.statusfile) statusinfo = statusfile.read() statusfile.close() except PULockError, e: raise LockError("Problem reading open file status: %s", str(e)) statusinfo = simplejson.loads(statusinfo) open_files = statusinfo.get("open", {}) return open_files.get(self.name, {})