summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 8a7fcf0)
raw | patch | inline | side by side (parent: 8a7fcf0)
author | schlatterbeck <schlatterbeck@57a73879-2fb5-44c3-a270-3262357dd7e2> | |
Thu, 8 Apr 2010 14:33:54 +0000 (14:33 +0000) | ||
committer | schlatterbeck <schlatterbeck@57a73879-2fb5-44c3-a270-3262357dd7e2> | |
Thu, 8 Apr 2010 14:33:54 +0000 (14:33 +0000) |
http://thread.gmane.org/gmane.comp.bug-tracking.roundup.user/10040
git-svn-id: http://svn.roundup-tracker.org/svnroot/roundup/roundup/trunk@4475 57a73879-2fb5-44c3-a270-3262357dd7e2
git-svn-id: http://svn.roundup-tracker.org/svnroot/roundup/roundup/trunk@4475 57a73879-2fb5-44c3-a270-3262357dd7e2
CHANGES.txt | patch | blob | history | |
roundup/xmlrpc.py | patch | blob | history |
diff --git a/CHANGES.txt b/CHANGES.txt
index 2bf2c33dfaba774d85251f9c708ad995ffe0b2f8..da26da8629777e2f6d1e75c1636303a915036696 100644 (file)
--- a/CHANGES.txt
+++ b/CHANGES.txt
Fixed:
- Handle multiple @action values from broken trackers.
+- xmlrpc handling of unicode characters, see
+ http://thread.gmane.org/gmane.comp.bug-tracking.roundup.user/10040
2010-02-23 1.5.0
diff --git a/roundup/xmlrpc.py b/roundup/xmlrpc.py
index b0495d07018aad4def9a220a9abac6f5e15f1b09..88ddb34f84930b871b51a745e6eac0c8d85f743a 100644 (file)
--- a/roundup/xmlrpc.py
+++ b/roundup/xmlrpc.py
for arg in args:
if arg.find('=') == -1:
raise UsageError, 'argument "%s" not propname=value'%arg
- l = arg.split('=')
- if len(l) < 2:
+ try :
+ key, value = arg.split('=', 1)
+ except ValueError :
raise UsageError, 'argument "%s" not propname=value'%arg
- key, value = l[0], '='.join(l[1:])
+ if isinstance (key, unicode) :
+ try :
+ key = key.encode ('ascii')
+ except UnicodeEncodeError:
+ raise UsageError, 'argument %r is no valid ascii keyword'%key
+ if isinstance (value, unicode) :
+ value = value.encode ('utf-8')
if value:
try:
props[key] = hyperdb.rawToHyperdb(db, cl, itemid,