Dalba added a comment.

Sorry, It seems that I missed this -- seemingly related -- warning message when 
importing pywikibot:

  >>> import sys
  >>> sys.path.append('c:/core')
  >>> import pywikibot as pwb
  WARNING: Running on Windows and transliteration_target is not set.
  Please see 
https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Pywikibot/Windows
  exception UnsupportedOperation('fileno',) while fixing up sys.stdout and 
sys.stderr

@Sitic: It works fine in command prompt.

@XZise: I applied the patch and now it logs in successfully. But still got the 
following error when trying to save a test edit:

  >>> p= pwb.Page(pwb.Site('fa'), 'ویکی‌پدیا:صفحه تمرین')
  >>> p.put('تمرين', ' ')
  Page [[fa:وyکy‌پدyا:صفحه تمرyن]] saved
  Traceback (most recent call last):
    File "<pyshell#12>", line 1, in <module>
      p.put('تمرين', ' ')
    File "c:/core\pywikibot\page.py", line 1117, in put
      **kwargs)
    File "c:/core\pywikibot\tools\__init__.py", line 930, in wrapper
      return obj(*__args, **__kw)
    File "c:/core\pywikibot\page.py", line 1036, in save
      **kwargs)
    File "c:/core\pywikibot\page.py", line 1052, in _save
      pywikibot.output(u"Page %s saved" % link)
    File "c:/core\pywikibot\bot.py", line 457, in output
      logoutput(text, decoder, newline, INFO, **kwargs)
    File "c:/core\pywikibot\bot.py", line 427, in logoutput
      logger.log(_level, text, extra=context, **kwargs)
    File "C:\Python34\lib\logging\__init__.py", line 1341, in log
      self._log(level, msg, args, **kwargs)
    File "C:\Python34\lib\logging\__init__.py", line 1409, in _log
      self.handle(record)
    File "C:\Python34\lib\logging\__init__.py", line 1419, in handle
      self.callHandlers(record)
    File "C:\Python34\lib\logging\__init__.py", line 1481, in callHandlers
      hdlr.handle(record)
    File "C:\Python34\lib\logging\__init__.py", line 853, in handle
      self.emit(record)
    File "c:/core\pywikibot\userinterfaces\terminal_interface_base.py", line 
434, in emit
      return self.UI.output(text, targetStream=self.stream)
    File "c:/core\pywikibot\userinterfaces\terminal_interface_base.py", line 
191, in output
      self._print(text, targetStream)
    File "c:/core\pywikibot\userinterfaces\terminal_interface_base.py", line 
132, in _print
      self.printColorized(text, targetStream)
    File "c:/core\pywikibot\userinterfaces\terminal_interface_win32.py", line 
99, in printColorized
      targetStream.write(text.encode(self.encoding, 'replace'))
    File "C:\Python34\lib\idlelib\PyShell.py", line 1344, in write
      raise TypeError('must be str, not ' + type(s).__name__)
  TypeError: must be str, not bytes
  >>> 

(Although the edit was saved.)
Should I open another task for that?


TASK DETAIL
  https://phabricator.wikimedia.org/T91921

REPLY HANDLER ACTIONS
  Reply to comment or attach files, or !close, !claim, !unsubscribe or !assign 
<username>.

EMAIL PREFERENCES
  https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: Dalba
Cc: gerritbot, XZise, Sitic, Aklapper, Dalba, jayvdb, pywikipedia-bugs



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

Reply via email to