[CrackMonkey] NO MIME, buttfuck!

Mike Goldman whig at debian.org
Fri Feb 11 20:48:02 PST 2000


Mike Goldman wrote:

> Better make that:
>
>     def CheckUserKillFile(self, user, email):
>         """Return whether email is killfiled."""
>         if not self.has_key(killfile): return 0
>         user = self.GetUserCanonicalAddress(user)
>         if self.killfile.has_key(user):
>             for addr in self.killfile[user]: # should bsearch
>                 if email == addr: return 1
>         return 0
>
> Otherwise, it may break existing lists....

This is totally GAR.  I'm sorry -- trying to grok Python and Mailman
simultaneously here.  Okay, the following code is tested to NOT break
existing lists.  It SHOULD automatically upgrade them to support
killfiles, iff you import the template HTML code.

    def GetUserKillFile(self, user):
        """Return user's personal killfile list, defaulting to []."""
        user = self.GetUserCanonicalAddress(user)
        try:
            if not self.killfile.has_key(user):
                return []
        except:
            return []
        return self.killfile[user]

    def SetUserKillFile(self, user, killfile):
        """Assign list to user's personal killfile."""
        user = self.GetUserCanonicalAddress(user)
        try:
            self.killfile
        except:
            self.killfile = {}
        self.killfile[user] = []
        for addr in killfile:
            addr = string.lower(string.strip(addr))
            if addr: self.killfile[user].append(addr)
        if not self.killfile[user]:
            del self.killfile[user]
        else:
            self.killfile[user].sort()
        self.Save()

    def CheckUserKillFile(self, user, email):
        """Return whether email is killfiled."""
        try:
            self.killfile
        except:
            return 0
        user = self.GetUserCanonicalAddress(user)
        if self.killfile.has_key(user):
            for addr in self.killfile[user]: # should bsearch
                if email == addr: return 1
        return 0







More information about the Crackmonkey mailing list