def children(request, path='/'): childrens = [] data = zkutils._get_children(zh, path) if data[0] == False: return HttpResponse(jdumps({"error":str(data[1])})) for child in data[1]: child_path = os.path.join(path, child) if child_path == '/zookeeper': continue if check_path_perm(request, child_path) == False: continue child_dict = {"text":child, "id": child_path} stat = zkutils._get_stat(zh, child_path) if stat != False and stat['numChildren'] > 0: child_dict['leaf'] = False else: child_dict['leaf'] = True childrens.append(child_dict) return HttpResponse(jdumps(childrens))
def children(request, path='/'): childrens = [] data = zkutils._get_children(zh, path) if data[0] == False: return HttpResponse(jdumps({"error": str(data[1])})) for child in data[1]: child_path = os.path.join(path, child) if child_path == '/zookeeper': continue if check_path_perm(request, child_path) == False: continue child_dict = {"text": child, "id": child_path} stat = zkutils._get_stat(zh, child_path) if stat != False and stat['numChildren'] > 0: child_dict['leaf'] = False else: child_dict['leaf'] = True childrens.append(child_dict) return HttpResponse(jdumps(childrens))
# user added acl acl_str = request.POST['acl'] acl_set.addmany(acl_str.split()) stat, oldacls = zkutils._get_acl(zh, path) if stat == False: update_stat += "Get old acls failed" else: if 'isappend' in request.POST and request.POST['isappend'] == 'on': acl_set.addmany(oldacls) try: ret = zk.set_acl(zh, path, stat['aversion'], acl_set.to_dict()) if ret is not zk.OK: raise IOError("set acl failed") # apply to ephemeral child children = zkutils._get_children(zh, path) if children[0] == False: raise IOError('get children failed') for child in children[1]: child_path = os.path.join(path, child) stat, oldacls = zkutils._get_acl(zh, child_path) if stat['ephemeralOwner'] == 0: continue ret = zk.set_acl(zh, child_path, stat['aversion'], acl_set.to_dict()) if ret is not zk.OK: raise IOError("set acl failed for %s"%(child_path)) except IOError, errmsg: update_stat += str(errmsg) except ValueError, errmsg: update_stat += str(errmsg)
# user added acl acl_str = request.POST['acl'] acl_set.addmany(acl_str.split()) stat, oldacls = zkutils._get_acl(zh, path) if stat == False: update_stat += "Get old acls failed" else: if 'isappend' in request.POST and request.POST['isappend'] == 'on': acl_set.addmany(oldacls) try: ret = zk.set_acl(zh, path, stat['aversion'], acl_set.to_dict()) if ret is not zk.OK: raise IOError("set acl failed") # apply to ephemeral child children = zkutils._get_children(zh, path) if children[0] == False: raise IOError('get children failed') for child in children[1]: child_path = os.path.join(path, child) stat, oldacls = zkutils._get_acl(zh, child_path) if stat['ephemeralOwner'] == 0: continue ret = zk.set_acl(zh, child_path, stat['aversion'], acl_set.to_dict()) if ret is not zk.OK: raise IOError("set acl failed for %s" % (child_path)) except IOError, errmsg: update_stat += str(errmsg) except ValueError, errmsg: update_stat += str(errmsg)