[Pywikipedia-l] SVN: [6422] branches/rewrite/pywikibot/bot.py

nicdumz at svn.wikimedia.org nicdumz at svn.wikimedia.org
Mon Feb 23 08:15:42 UTC 2009


Revision: 6422
Author:   nicdumz
Date:     2009-02-23 08:15:42 +0000 (Mon, 23 Feb 2009)

Log Message:
-----------
In output(), trying to access __unicode__ builtin if object has one ( unicode(obj, encoding) does not try to, while unicode(obj) does. )

Modified Paths:
--------------
    branches/rewrite/pywikibot/bot.py

Modified: branches/rewrite/pywikibot/bot.py
===================================================================
--- branches/rewrite/pywikibot/bot.py	2009-02-23 07:19:48 UTC (rev 6421)
+++ branches/rewrite/pywikibot/bot.py	2009-02-23 08:15:42 UTC (rev 6422)
@@ -144,10 +144,16 @@
 ##             % type(text),
 ##            level=VERBOSE
 ##        )
-        try:
-            text = unicode(text, 'utf-8')
-        except UnicodeDecodeError:
-            text = unicode(text, 'iso8859-1')
+        if type(text) is not str:
+            # looks like text is a non-text object. 
+            # Maybe it has a __unicode__ builtin ?
+            # (allows to print Page, Site...)
+            text = unicode(text)
+        else:
+            try:
+                text = unicode(text, 'utf-8')
+            except UnicodeDecodeError:
+                text = unicode(text, 'iso8859-1')
     if newline:
         text += u'\n'
     if toStdout:





More information about the Pywikipedia-l mailing list