On 10.05.2016 16:34, Branko Čibej wrote:
On 10.05.2016 16:29, stef...@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
Log:
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

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 ]
    else:
      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
     else:
       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) ?

-- Stefan^2.

Reply via email to