Source code for irc.strings

from __future__ import absolute_import, unicode_literals

import string

from jaraco.text import FoldedCase


[docs]class IRCFoldedCase(FoldedCase): """ A version of FoldedCase that honors the IRC specification for lowercased strings (RFC 1459). >>> IRCFoldedCase('Foo^').lower() 'foo~' >>> IRCFoldedCase('[this]') == IRCFoldedCase('{THIS}') True >>> IRCFoldedCase().lower() '' """ translation = dict(zip( map(ord, string.ascii_uppercase + r"[]\^"), map(ord, string.ascii_lowercase + r"{}|~"), ))
[docs] def lower(self): return ( self.translate(self.translation) if self # bypass translate, which returns self else super(IRCFoldedCase, self).lower() )
[docs]def lower(str): return IRCFoldedCase(str).lower()