# HG changeset patch # User Paul Boddie # Date 1383419325 -3600 # Node ID 7107bc9e783159485b4a5582c16a2bc6b456c219 # Parent 6c97fd86cb8861961d1b259a300cbee6ed5009c4 Added a patch to the user administration script to support non-ASCII arguments. diff -r 6c97fd86cb88 -r 7107bc9e7831 patches/patch-moin-1.9-MoinMoin-user.diff --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/patch-moin-1.9-MoinMoin-user.diff Sat Nov 02 20:08:45 2013 +0100 @@ -0,0 +1,30 @@ +diff -r f60d817b07ef MoinMoin/user.py +--- a/MoinMoin/user.py Fri Nov 01 23:52:20 2013 +0100 ++++ b/MoinMoin/user.py Sat Nov 02 19:42:07 2013 +0100 +@@ -38,6 +38,8 @@ + from MoinMoin.util import timefuncs, random_string + from MoinMoin.wikiutil import url_quote_plus + ++import locale ++ + + def getUserList(request): + """ Get a list of all (numerical) user IDs. +@@ -681,7 +683,16 @@ + elif isinstance(value, dict): + key += '{}' + value = encodeDict(value) +- line = u"%s=%s" % (key, unicode(value)) ++ # Handle plain strings ++ elif isinstance(value, str): ++ try: ++ value = unicode(value, "utf-8") ++ except UnicodeError: ++ value = unicode(value, locale.getpreferredencoding()) ++ # Convert other objects ++ else: ++ value = unicode(value) ++ line = u"%s=%s" % (key, value) + line = line.replace('\n', ' ').replace('\r', ' ') # no lineseps + data.write(line + '\n') + data.close()