Ejemplo n.º 1
0
 def BeIgnored(self, userid):
     if (self.HasPerm(PERM_SYSOP)):
         return False
     ignores = User.OwnFile(userid, 'ignores')
     itemcount = Util.GetRecordCount(ignores, Config.IDLEN + 1)
     if (itemcount == -1):
         return False
     records = Util.GetRecords(ignores, Config.IDLEN + 1, 1, itemcount)
     for guy in records:
         if (Util.CString(guy).lower() == self.name.lower()):
             return True
     return False
Ejemplo n.º 2
0
    def GetFriends(self, userinfo):
        userinfo.friendsnum = 0
        path = self.MyFile("friends")
        numFriends = Util.GetRecordCount(path, Friend.size)
        #        Log.info("numFriends: %d" % numFriends)
        if (numFriends <= 0):
            return 0
        if (numFriends > Config.MAXFRIENDS):
            numFriends = Config.MAXFRIENDS

        friends = map(Friend, Util.GetRecords(path, Friend.size, 1,
                                              numFriends))
        i = 0
        while (True):
            if (i >= numFriends):
                break
#            Log.debug("checking %d %s %d" % (i, friends[i].id, -1 if User.InvalidId(friends[i].id) else UCache.UCache.SearchUser(friends[i].id)))
            if (User.InvalidId(friends[i].id)
                    or UCache.UCache.SearchUser(friends[i].id) == 0):
                #                Log.debug("removing %d %s" % (i, friends[i].id))
                friends[i] = friends[numFriends - 1]
                numFriends = numFriends - 1
                friends.pop()
                i = i - 1
#            print i,numFriends,len(friends)

            i = i + 1

        friends.sort(key=Friend.NCaseId)

        userinfo.friends_nick = []
        for i in range(numFriends):
            #            Log.debug("friend %d %s" % (i, friends[i].id))
            userinfo.friends_uid[i] = UCache.UCache.SearchUser(friends[i].id)
            userinfo.friends_nick.append(friends[i].exp)

        userinfo.friendsnum = numFriends
        return 0