Make six use consistant.

Review Request #9649 — Created Feb. 16, 2018 and submitted

Information

RBTools
master
8a990da...

Reviewers

Make six use consistant.

Import the function directly if it is a six.moves function otherwise
leave it specified as a six function that needs to be replaced in
the future.

All tests passed in python 2.7

Description From Last Updated

We don't want to only import six. That makes updating code down the road much harder, increases the chances of …

chipx86chipx86

Please undo this change. The previous way was better.

daviddavid

Please undo these changes.

daviddavid

F821 undefined name 'six'

reviewbotreviewbot

This is changing StringIO from using the C implementation to using the Python implementation (on Python 2). Please change this …

daviddavid
solarmist
chipx86
  1. 
      
  2. Show all issues

    We don't want to only import six. That makes updating code down the road much harder, increases the chances of errors (we can't check for unimported references anymore), and just generally makes things more verbose. I don't really understand the reason for this change, but it's not the direction we want to take the codebase.

    This change is also trying to do too much. Some parts are changing how six imports work, others are moving things like unicode() and .iteritems() to six equivalents. That should be its own change.

    1. The idea is that the six library is a transitional library only as all references to six should be removed as soon as Python 2.7 support is dropped. This makes it an easy task to find all such references and remove them. As you said yourself in another review it makes them easy to grep.

      That said, only a handleful of the fixes are required.

    2. It should be, yes, but this change makes it harder to drop six. With the way we do six imports, we're typically using the name naming for classes/functions, and dropping Python 2.7 means just replacing the imports for most cases. This change makes that harder, since we now have to replace a lot more lines of code a lot more carefully, with less tool assistance.

  3. 
      
solarmist
david
  1. 
      
  2. rbtools/clients/tests/test_svn.py (Diff revision 2)
     
     
    Show all issues

    Please undo this change. The previous way was better.

  3. rbtools/utils/testbase.py (Diff revision 2)
     
     
     
    Show all issues

    Please undo these changes.

  4. 
      
solarmist
Review request changed
Commit:
cff3904fb199a79c80cb6b39c1b90642d6e83bc8
d9c583274b6654f9ed42f19928957858f76da44a

Checks run (1 failed, 1 succeeded)

flake8 failed.
JSHint passed.

flake8

solarmist
david
  1. 
      
  2. rbtools/clients/tests/test_svn.py (Diff revision 4)
     
     
    Show all issues

    This is changing StringIO from using the C implementation to using the Python implementation (on Python 2). Please change this back.

  3. 
      
solarmist
solarmist
david
  1. Ship It!
  2. 
      
solarmist
Review request changed
Status:
Completed
Change Summary:
Pushed to master (fcb7b90)