1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/patches/patch-moin-1.9-MoinMoin-user.diff Sat Nov 02 20:08:45 2013 +0100
1.3 @@ -0,0 +1,30 @@
1.4 +diff -r f60d817b07ef MoinMoin/user.py
1.5 +--- a/MoinMoin/user.py Fri Nov 01 23:52:20 2013 +0100
1.6 ++++ b/MoinMoin/user.py Sat Nov 02 19:42:07 2013 +0100
1.7 +@@ -38,6 +38,8 @@
1.8 + from MoinMoin.util import timefuncs, random_string
1.9 + from MoinMoin.wikiutil import url_quote_plus
1.10 +
1.11 ++import locale
1.12 ++
1.13 +
1.14 + def getUserList(request):
1.15 + """ Get a list of all (numerical) user IDs.
1.16 +@@ -681,7 +683,16 @@
1.17 + elif isinstance(value, dict):
1.18 + key += '{}'
1.19 + value = encodeDict(value)
1.20 +- line = u"%s=%s" % (key, unicode(value))
1.21 ++ # Handle plain strings
1.22 ++ elif isinstance(value, str):
1.23 ++ try:
1.24 ++ value = unicode(value, "utf-8")
1.25 ++ except UnicodeError:
1.26 ++ value = unicode(value, locale.getpreferredencoding())
1.27 ++ # Convert other objects
1.28 ++ else:
1.29 ++ value = unicode(value)
1.30 ++ line = u"%s=%s" % (key, value)
1.31 + line = line.replace('\n', ' ').replace('\r', ' ') # no lineseps
1.32 + data.write(line + '\n')
1.33 + data.close()