XZise added a comment.
Another problem is then, that the `std*` is a `StringIO` so only accepts strings but in
Python 3, when we encode the colored messages in
`pywikibot.userinterfaces.terminal_interface_unix.UnixUI.printColorized`, it's bytes.
I'm not sure if we shouldn't encode it or if it needs to be `BytesIO`. But afaik
`sys.__std*` are `str` based in Python 3 so I think they shouldn't be encoded,
especially as `pywikibot.userinterfaces.terminal_interface_base.UI.printNonColorized` does
that:
```
if sys.version_info[0] == 2:
line = line.encode(self.encoding, 'replace')
targetStream.write(line)
```
Although I'm wondering why it does work outside of the test and the logic in
`printColorized` appears more complex so I'm currently not sure how that need to be
changed.
TASK DETAIL
https://phabricator.wikimedia.org/T76248
REPLY HANDLER ACTIONS
Reply to comment or attach files, or !close, !claim, !unsubscribe or !assign
<username>.
To: XZise
Cc: pywikipedia-bugs, valhallasw, XZise, jayvdb