Skip to content

Instantly share code, notes, and snippets.

@Elektordi
Last active August 17, 2016 21:59
Show Gist options
  • Save Elektordi/c2bcbfde3f9d4d1ab407a6bc35bf1a9a to your computer and use it in GitHub Desktop.
Save Elektordi/c2bcbfde3f9d4d1ab407a6bc35bf1a9a to your computer and use it in GitHub Desktop.
Fix UTF-8 texts on a mailman setup (after a failed upgrade...)
#!/usr/bin/python
#
# Copyright (C) 2002 by the Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
"""This script is intended to be run as a bin/withlist script, i.e.
% bin/withlist -l -r fix_utf8.convert <mylist>
"""
import paths
from Mailman import Utils
from Mailman.i18n import _
def convert(mlist):
for attr in ('msg_header', 'msg_footer', 'digest_header', 'digest_footer', 'nonmember_rejection_notice',
'autoresponse_postings_text', 'autoresponse_admin_text', 'info',
'autoresponse_request_text', 'description', 'subject_prefix', 'welcome_msg', 'goodbye_msg'):
s = getattr(mlist, attr)
t = s.decode('iso-8859-1').encode('utf8')
setattr(mlist, attr, t)
print _('Saving list')
mlist.Save()
if __name__ == '__main__':
print _(__doc__.replace('%', '%%'))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment