;ò = ÄDc@sdkZdkZdkZdkiZdkiZdkiZdk i Z dk Tdk i Z dkiZdeifd„ƒYZeZdS(N(s*sBadWordscBs¡tZd„Zd„Zd„Zd„Zd„Zd„Zd„Ze edgƒZd „Z e e de d ƒgƒZ d „Z e e de d ƒgƒZ RS( NcCsMtt|ƒ|_|ii|ƒt|_d|_t i i ii |_ dS(Ni( ssupersBadWordssselfs_BadWords__parents__init__sircsTrues filterings lastModifiedsconfssupybotspluginsswords(sselfsirc((s./BadWords/plugin.pys__init__+s   cOsGti|idƒo |ii|||||Žn|i dƒdS(Nsadmin( sircdbscheckCapabilitysmsgsprefixsselfs_BadWords__parents callCommandsnamesircsargsskwargsserrorNoCapability(sselfsnamesircsmsgsargsskwargs((s./BadWords/plugin.pys callCommand4s cCsb|idƒ}|djo|idƒSn2|djo$|idƒt|idƒƒ SndS(Ns replaceMethodssimplessimpleReplacementsnastyCharacterss nastyCharsi(sselfs registryValues replaceMethodslensmsgroup(sselfsms replaceMethod((s./BadWords/plugin.pyssub:s   cCst|_|SdS(N(sTruesselfs filteringsmsg(sselfsircsmsg((s./BadWords/plugin.pysinFilterAs cCsÉ|io |idjo§|i|iijo&|i|iƒƒtiƒ|_n|id}|i dƒot i |ƒ}n|i i|i|ƒ}ti|id|d|ƒ}n|SdS(NsPRIVMSGisstripFormattingismsg(sselfs filteringsmsgscommands lastModifiedswordss makeRegexpstimesargssss registryValuesircutilssstripFormattingsregexpssubsircmsgssprivmsg(sselfsircsmsgss((s./BadWords/plugin.pys outFilterEs #cCsYdditti|ƒƒ}|idƒod|}nti|ti ƒ|_ dS(Ns(%s)s|srequireWordBoundariess\b%s\b( sjoinsmapsresescapesiterablesssselfs registryValuescompilesIsregexp(sselfsiterabless((s./BadWords/plugin.pys makeRegexpQscCs`t|iƒƒ}|o6t|_titi |ƒ|i t d|ƒƒn|i dƒdS(sNtakes no arguments Returns the list of words being censored. s%Ls*I'm not currently censoring any bad words.N( slistsselfswordssLsFalses filteringsutilsssortBysstrslowersircsreplysformat(sselfsircsmsgsargssL((s./BadWords/plugin.pyslistWs sadmincCs7|iƒ}|i|ƒ|ii|ƒ|iƒdS(sa [ ...] Adds all s to the list of words the bot isn't to say. N(sselfswordsssetsupdatessetValuesircs replySuccess(sselfsircsmsgsargsswordssset((s./BadWords/plugin.pysaddes   s somethingcCsH|iƒ}x|D]}|i|ƒqW|ii|ƒ|iƒdS(sd [ ...] Removes a s from the list of words the bot isn't to say. N(sselfswordsssetswordsdiscardssetValuesircs replySuccess(sselfsircsmsgsargsswordsssetsword((s./BadWords/plugin.pysremoveps ( s__name__s __module__s__init__s callCommandssubsinFilters outFilters makeRegexpslistswrapsaddsmanysremove(((s./BadWords/plugin.pysBadWords*s       (sresmathstimes supybot.confsconfs supybot.utilssutilss supybot.ircdbsircdbssupybot.ircmsgssircmsgsssupybot.commandsssupybot.ircutilssircutilsssupybot.callbackss callbackssPrivmsgsBadWordssClass( sircdbsBadWordss callbackssutilssircmsgssresconfstimesClasssmathsircutils((s./BadWords/plugin.pys?s         S