예제 #1
0
    def getuseremail(self, name):
        """ get email of user. """

        user = byname(name)
        if user:
            if user.email:
                return user.email[0]
예제 #2
0
    def getuserstatuses(self, name):

        """ return the list of statuses for the specified user. """

        user = byname(name)
        if user:
            return user.statuses
예제 #3
0
    def getuserhosts(self, name):

        """ return the userhosts associated with the specified user. """

        user = byname(name)
        if user:
            return user.userhosts
예제 #4
0
    def getuserpermits(self, name):
 
        """ return permits of user. """

        user = byname(name)
        if user:
            return user.permits
예제 #5
0
    def add(self, session, name, userhosts, perms):
        """ add an user. """

        if type(userhosts) != types.ListType:
            rlog(10, 'users', 'i need a list of userhosts')
            return 0

        if not os.path.isdir(self.datadir + os.sep + 'users'):
            os.mkdir(self.datadir + os.sep + 'users')

        if not os.path.isdir(self.datadir + os.sep + 'users' + os.sep + name):
            os.mkdir(self.datadir + os.sep + 'users' + os.sep + name)

        user = byname(name, session)
        if not user:
            try:
                newuser = User(name=name)
                newuser.userhosts.extend(userhosts)
                newuser.perms.extend(perms)
                session.add(newuser)
                session.commit()
            except Exception, ex:
                rlog(10, 'users', str(ex))
                return
            rlog(10, 'users',
                 '%s %s %s added to user database' % (name, userhosts, perms))
예제 #6
0
    def gotpermit(self, name, permit):

        """ check if user permits something.  permit is a [who, what] list. """

        user = byname(name)
        if user:
            return '%s %s' % permit in user.permits
예제 #7
0
    def gotperm(self, name, perm):

        """ check if user had permission. """

        user = byname(name)
        if user:
            return perm.upper() in user.perms
예제 #8
0
    def add(self, session, name, userhosts, perms):

        """ add an user. """

        if type(userhosts) != types.ListType:
            rlog(10, 'users', 'i need a list of userhosts')
            return 0

        if not os.path.isdir(self.datadir + os.sep + 'users'):
            os.mkdir(self.datadir + os.sep + 'users')

        if not os.path.isdir(self.datadir + os.sep + 'users' +  os.sep + name):
            os.mkdir(self.datadir + os.sep + 'users' +  os.sep + name)

        user = byname(name, session)
        if not user:
            try:
                newuser = User(name=name)
                newuser.userhosts.extend(userhosts)
                newuser.perms.extend(perms)
                session.add(newuser)
                session.commit()
            except Exception, ex:
                rlog(10, 'users', str(ex))
                return
            rlog(10, 'users', '%s %s %s added to user database' % (name, userhosts, perms))
예제 #9
0
    def delete(self, session, name):
        """ delete user with name. """

        user = byname(name, session)
        if user:
            session.delete(user)
            session.commit()
            return 1
예제 #10
0
    def getuseremail(self, name):

        """ get email of user. """

        user = byname(name)
        if user:
            if user.email:
                return user.email[0]
예제 #11
0
    def delallemail(self, session, name):
        """ Delete all emails for the specified user. """

        user = byname(name, session)
        if user:
            user.email = []
            rlog(10, 'users', '%s emails deleted' % (name, ))
            return 1
예제 #12
0
    def adduseremail(self, session, name, email):
        """ add email to specified user. """

        user = byname(name, session)
        if user:
            user.email.append(email)
            rlog(10, 'users', '%s email %s added' % (name, email))
            return 1
예제 #13
0
    def adduserpermit(self, session, name, permit):
        """ add (who, what) permit tuple to sepcified user. """

        user = byname(name, session)
        if user:
            p = '%s %s' % permit
            user.permits.append(p)
            rlog(10, 'users', '%s permit %s added' % (name, p))
            return 1
예제 #14
0
    def delete(self, session, name):

        """ delete user with name. """

        user = byname(name, session)
        if user:
            session.delete(user)
            session.commit()
            return 1
예제 #15
0
    def deluserhost(self, session, name, userhost):
        """ delete the userhost entry. """

        user = byname(name, session)
        if user:
            if userhost in user.userhosts:
                user.userhosts.remove(userhost)
                rlog(10, 'users', '%s userhost %s deleted' % (name, userhost))
                return 1
예제 #16
0
    def adduserperm(self, session, name, perm):
        """ add permission. """

        user = byname(name, session)
        if user:
            perm = perm.upper()
            user.perms.append(perm)
            rlog(10, 'users', '%s perm %s added' % (name, perm))
            return 1
예제 #17
0
    def adduserstatus(self, session, name, status):
        """ add status to given user. """

        user = byname(name, session)
        if user:
            user.statuses.append(status.upper())
            session.commit()
            rlog(10, 'users', '%s status %s added' % (name, status))
            return 1
예제 #18
0
    def adduseremail(self, session, name, email):

        """ add email to specified user. """

        user = byname(name, session)
        if user:
            user.email.append(email)
            rlog(10, 'users', '%s email %s added' % (name, email))
            return 1
예제 #19
0
    def delallemail(self, session, name):

        """ Delete all emails for the specified user. """

        user = byname(name, session)
        if user:
            user.email = []
            rlog(10, 'users', '%s emails deleted' % (name, ))
            return 1
예제 #20
0
    def adduserperm(self, session, name, perm):

        """ add permission. """

        user = byname(name, session)
        if user:
            perm = perm.upper()
            user.perms.append(perm)
            rlog(10, 'users', '%s perm %s added' % (name, perm))
            return 1
예제 #21
0
    def deluserpermit(self, session, name, permit):
        """ delete permit. """

        user = byname(name, session)
        if user:
            p = '%s %s' % permit
            if p in user.permits:
                user.permits.remove(p)
                rlog(10, 'users', '%s permit %s deleted' % (name, p))
                return 1
예제 #22
0
    def adduserstatus(self, session, name, status):

        """ add status to given user. """

        user = byname(name, session)
        if user:
            user.statuses.append(status.upper())
            session.commit()
            rlog(10, 'users', '%s status %s added' % (name, status))
            return 1
예제 #23
0
    def adduserpermit(self, session, name, permit):

        """ add (who, what) permit tuple to sepcified user. """

        user = byname(name, session)
        if user:
            p = '%s %s' % permit
            user.permits.append(p)
            rlog(10, 'users', '%s permit %s added' % (name, p))
            return 1
예제 #24
0
    def deluserhost(self, session, name, userhost):

        """ delete the userhost entry. """

        user = byname(name, session)
        if user:
            if userhost in user.userhosts:
                user.userhosts.remove(userhost)
                rlog(10, 'users', '%s userhost %s deleted' % (name, userhost))
                return 1
예제 #25
0
    def merge(self, session, name, userhost):
        """ add userhosts to user with name. """

        user = byname(name)
        if user:
            if name not in user.userhosts:
                user.userhosts.append(userhost)
                session.refresh(user)
                rlog(10, 'users', "%s merged with %s" % (userhost, name))
                return 1
예제 #26
0
    def deluseremail(self, session, name, email):
        """ delete email.  """

        user = byname(name, session)
        if user:
            if email in user.email:
                user.email.remove(email)
                session.refresh(user)
                rlog(10, 'users', '%s email %s deleted' % (name, email))
                return 1
예제 #27
0
    def deluserperm(self, session, name, perm):
        """ delete permission. """

        user = byname(name, session)
        if user:
            p = perm.upper()
            if p in user.perms:
                user.perms.remove(p)
                rlog(10, 'users', '%s perm %s deleted' % (name, p))
                return 1
예제 #28
0
    def deluserstatus(self, session, name, status):
        """ delete the status from the given user. """

        user = byname(name, session)
        if user:
            st = status.upper()
            if st in user.statuses:
                user.statuses.remove(status)
                rlog(10, 'users', '%s status %s deleted' % (name, st))
                return 1
예제 #29
0
    def deluserstatus(self, session, name, status):

        """ delete the status from the given user. """

        user = byname(name, session)
        if user:
            st = status.upper()
            if st in user.statuses:
                user.statuses.remove(status)
                rlog(10, 'users', '%s status %s deleted' % (name, st))
                return 1
예제 #30
0
    def adduserhost(self, session, name, userhost):
        """ add userhost. """

        user = byname(name, session)
        if not user:
            user = User(name=name)
            session.add(user)
            session.commit()
        user.userhosts.append(userhost)
        rlog(10, 'users', '%s (%s) added to userhosts' % (name, userhost))
        return 1
예제 #31
0
    def deluseremail(self, session, name, email):

        """ delete email.  """

        user = byname(name, session)
        if user:
            if email in user.email:
                user.email.remove(email)
                session.refresh(user)
                rlog(10, 'users', '%s email %s deleted' % (name, email))
                return 1
예제 #32
0
    def deluserperm(self, session, name, perm):

        """ delete permission. """

        user = byname(name, session)
        if user:
            p = perm.upper()
            if p in user.perms:
                user.perms.remove(p)
                rlog(10, 'users', '%s perm %s deleted' % (name, p))
                return 1
예제 #33
0
    def merge(self, session, name, userhost):

        """ add userhosts to user with name. """

        user = byname(name)
        if user:
            if name not in user.userhosts:
                user.userhosts.append(userhost)
                session.refresh(user)
                rlog(10, 'users', "%s merged with %s" % (userhost, name))
                return 1
예제 #34
0
    def deluserpermit(self, session, name, permit):

        """ delete permit. """

        user = byname(name, session)
        if user:
            p = '%s %s' % permit
            if p in user.permits:
                user.permits.remove(p)
                rlog(10, 'users', '%s permit %s deleted' % (name, p))
                return 1
예제 #35
0
    def adduserhost(self, session, name, userhost):

        """ add userhost. """

        user = byname(name, session)
        if not user:
            user = User(name=name)
            session.add(user)
            session.commit()
        user.userhosts.append(userhost)
        rlog(10, 'users', '%s (%s) added to userhosts' % (name, userhost))
        return 1
예제 #36
0
    def setemail(self, session, name, email):
        """ set email of user. """

        user = byname(name, session)

        if user:
            try:
                user.email.remove(email)
            except:
                pass
            user.email.insert(0, email)
            session.refresh(user)
            return 1
예제 #37
0
    def setemail(self, session, name, email):

        """ set email of user. """

        user = byname(name, session)

        if user:
            try:
                user.email.remove(email)
            except:
                pass
            user.email.insert(0, email)
            session.refresh(user)
            return 1
예제 #38
0
    def gotperm(self, name, perm):
        """ check if user had permission. """

        user = byname(name)
        if user:
            return perm.upper() in user.perms
예제 #39
0
    def gotstatus(self, name, status):
        """ check if user has status. """

        user = byname(name)
        return status.upper() in user.statuses
예제 #40
0
    def getuserhosts(self, name):
        """ return the userhosts associated with the specified user. """

        user = byname(name)
        if user:
            return user.userhosts
예제 #41
0
    def gotstatus(self, name, status):

        """ check if user has status. """

        user = byname(name)
        return status.upper() in user.statuses
예제 #42
0
    def gotpermit(self, name, permit):
        """ check if user permits something.  permit is a [who, what] list. """

        user = byname(name)
        if user:
            return '%s %s' % permit in user.permits
예제 #43
0
    def getuserstatuses(self, name):
        """ return the list of statuses for the specified user. """

        user = byname(name)
        if user:
            return user.statuses
예제 #44
0
    def getuserpermits(self, name):
        """ return permits of user. """

        user = byname(name)
        if user:
            return user.permits
예제 #45
0
    def exist(self, name):

        """ see if user with <name> exists. """

        return byname(name)
예제 #46
0
    def gotuserhost(self, name, userhost):
        """ check if user has userhost. """

        user = byname(name)
        return userhost in user.userhosts
예제 #47
0
    def exist(self, name):
        """ see if user with <name> exists. """

        return byname(name)
예제 #48
0
    def gotuserhost(self, name, userhost):

        """ check if user has userhost. """

        user = byname(name)
        return userhost in user.userhosts