New submission from Serhiy Storchaka:

>>> import io
>>> class F(io.FileIO): pass
... 
>>> f = F('/dev/null', 'r')
>>> f
<_io.FileIO name='/dev/null' mode='rb'>
>>> class B(io.BufferedReader): pass
... 
>>> b = B(f)
>>> b
<B name='/dev/null'>
>>> class T(io.TextIOBufferedReader): pass
io.TextIOBase(     io.TextIOWrapper(  
>>> class T(io.TextIOWrapper): pass
... 
>>> t = T(b)
>>> t
<_io.TextIOWrapper name='/dev/null' encoding='UTF-8'>

Expected results are "<__main__.F name='/dev/null' mode='rb'>", "<__main__.B 
name='/dev/null'>" and "<__main__.T name='/dev/null' encoding='UTF-8'>". 
Usually reprs of subclass instances substitute actual module and class names.

----------
components: Extension Modules, IO
keywords: easy
messages: 221476
nosy: benjamin.peterson, hynek, pitrou, serhiy.storchaka, stutzbach
priority: normal
severity: normal
stage: needs patch
status: open
title: io class name are hardcoded in reprs
type: behavior
versions: Python 2.7, Python 3.3, Python 3.4

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue21861>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to