예제 #1
0
    def readPrivileges(self):
        names = Privilege.list(self.connection)
        max_read = { "execute": 5, "uri": 5 }
        counts = { "execute": 0, "uri": 0 }
        for name in names:
            parts = name.split("|")
            kind = parts[0]
            pname = parts[1]

            counts[kind] = counts[kind] + 1

            if max_read[kind] > 0:
                rsrc = Privilege.lookup(self.connection, pname, kind)
                max_read[kind] = max_read[kind] - 1

        print("Execute privileges: {}".format(counts["execute"]))
        print("URI privileges: {}".format(counts["uri"]))
예제 #2
0
    def readPrivileges(self):
        names = Privilege.list(self.connection)
        max_read = {"execute": 5, "uri": 5}
        counts = {"execute": 0, "uri": 0}
        for name in names:
            parts = name.split("|")
            kind = parts[0]
            pname = parts[1]

            counts[kind] = counts[kind] + 1

            if max_read[kind] > 0:
                rsrc = Privilege.lookup(self.connection, pname, kind)
                max_read[kind] = max_read[kind] - 1

        print("Execute privileges: {}".format(counts["execute"]))
        print("URI privileges: {}".format(counts["uri"]))
예제 #3
0
    def close(self, conn, group='Default'):
        closed = False
        while not closed:
            closed = True

            newitems = []
            for key in self.servers:
                item = self.servers[key]
                if item is None:
                    closed = False
                    newitems.append(Server.lookup(conn, key, group))

            for server in newitems:
                self._close_over_server(server)

            newitems = []
            for key in self.databases:
                item = self.databases[key]
                if item is None:
                    closed = False
                    newitems.append(Database.lookup(conn, key))

            for database in newitems:
                self._close_over_database(database)

            newitems = []
            for key in self.users:
                item = self.users[key]
                if item is None:
                    closed = False
                    newitems.append(User.lookup(conn, key))

            for user in newitems:
                self._close_over_user(user)

            newitems = []
            for key in self.roles:
                item = self.roles[key]
                if item is None:
                    closed = False
                    newitems.append(Role.lookup(conn, key))

            for role in newitems:
                self._close_over_role(role)

            delitems = []
            newitems = []
            for key in self.privileges:
                item = self.privileges[key]
                parts = key.split("|")
                kind = parts[0]
                name = parts[1]
                if isinstance(item, str):
                    closed = False

                    if self.PRIVILEGES is None:
                        self.PRIVILEGES = Privilege.list(conn)

                    for priv in self.PRIVILEGES:
                        parts = priv.split("|")
                        if parts[0] == kind and parts[2] == name:
                            delitems.append(key)
                            name = parts[1]

                    newitems.append(Privilege.lookup(conn, name, kind))

            for item in delitems:
                del self.privileges[item]

            for priv in newitems:
                self._close_over_privilege(priv)
예제 #4
0
 def list(self, args, config, connection):
     ptype = args['kind']
     names = Privilege.list(connection, kind=ptype)
     print(json.dumps(names,sort_keys=True, indent=2))
 def list(self, args, config, connection):
     ptype = args['kind']
     names = Privilege.list(connection, kind=ptype)
     print(json.dumps(names, sort_keys=True, indent=2))