Revision: 7735
Author:   alexsh
Date:     2009-12-05 20:49:43 +0000 (Sat, 05 Dec 2009)

Log Message:
-----------
Fix UnicodeDecodeError for included ja or chinese pagename or username.

Modified Paths:
--------------
    trunk/pywikipedia/query.py

Modified: trunk/pywikipedia/query.py
===================================================================
--- trunk/pywikipedia/query.py  2009-12-05 14:57:34 UTC (rev 7734)
+++ trunk/pywikipedia/query.py  2009-12-05 20:49:43 UTC (rev 7735)
@@ -25,7 +25,7 @@
 __version__ = '$Id$'
 #
 
-import wikipedia, urllib, time
+import wikipedia, time
 try:
     #For Python 2.6 newer
     import json
@@ -92,10 +92,10 @@
             path = site.api_address()
             cont = ''
         else:
-            path = site.api_address() + urllib.urlencode(params.items())
+            path = site.api_address() + site.urlEncode(params.items())
 
     else:
-        path = site.query_address() + urllib.urlencode(params.items())
+        path = site.query_address() + site.urlEncode(params.items())
 
     if wikipedia.verbose:
         if titlecount > 1:
@@ -294,9 +294,9 @@
     encList = ''
     # items may not have one symbol - '|'
     for l in list:
-        if type(l) == str and '|' in l:
+        if type(l) == str and u'|' in l:
             raise wikipedia.Error("item '%s' contains '|' symbol" % l )
-        encList += ToUtf8(l) + '|'
+        encList += ToUtf8(l) + u'|'
     return encList[:-1]
 
 def ToUtf8(s):
@@ -305,7 +305,7 @@
             s = unicode(s)
         except UnicodeDecodeError:
             s = s.decode(wikipedia.config.console_encoding)
-    return s.encode('utf-8')
+    return s
 
 def IsString(s):
     return type( s ) in [str, unicode]



_______________________________________________
Pywikipedia-svn mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikipedia-svn

Reply via email to