On 10.05.2016 16:34, Branko Čibej wrote:
> On 10.05.2016 16:29, stefan2_at_apache.org wrote:
>> Author: stefan2
>> Date: Tue May 10 14:29:56 2016
>> New Revision: 1743195
>> URL: http://svn.apache.org/viewvc?rev=1743195&view=rev
>> Follow-up to r1743183: Unbreak FSFS svnadmin tests.
>> * subversion/tests/cmdline/svntest/main.py
>> (ensure_list): Converting strings and bytes to lists is a special case.
>> Before that, each "element" in them would become a separate
>> list element.
>> Modified: subversion/trunk/subversion/tests/cmdline/svntest/main.py
>> URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/main.py?rev=1743195&r1=1743194&r2=1743195&view=diff
>> --- subversion/trunk/subversion/tests/cmdline/svntest/main.py (original)
>> +++ subversion/trunk/subversion/tests/cmdline/svntest/main.py Tue May 10 14:29:56 2016
>> @@ -379,6 +379,8 @@ def ensure_list(item):
>> "If ITEM is not already a list, convert it to a list."
>> if isinstance(item, list):
>> return item
>> + elif isinstance(item, bytes) or isinstance(item, str):
>> + return [ item ]
>> return list(item)
> I think this is overkill and possibly wrong (and may have been wrong
> before, too); the code should probably just be:
> if isinstance(item, list):
> return item
> return [item]
> There's no reason to have a third option, unless you also want to
> convert tuples to lists — but in that case I'd prefer to have an
> explicit check for 'isinstance(item, tuple)' instead of explicit checks
> for strings and byte sequences.
The list construction is there to convert from iterators
(e.g. map, filter) to "proper" lists in Python 3. The strings
special case is mainly carried over from various local
incarnations of that logic.
Is there a base class for iterators which is also known
to Python 2 (doesn't need to be used there) ?
Received on 2016-05-10 21:12:04 CEST