bpo-5664: 2to3 convert Cookie.Cookie properly by aldwinaldwin · Pull Request #15268 · python/cpython
| @@ -276,6 +276,13 @@ and off individually. They are described here in more detail. | |||
| Handles other modules renames in the standard library. It is separate from | |||
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Handles other modules renames in the standard library. It is separate from | |
| Handles other module renames in the standard library. It is separate from |
|
|
||
| Handles other modules renames in the standard library. It is separate from | ||
| the :2to3fixer:`imports` and :2to3fixer:`imports2` fixers only because of | ||
| technical limitations. :2to3fixer:`renames` needs to run afterwards to |
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What are these technical limitations?
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test_imports() would fail, because this fix uses 2 steps. fix_renames does a second change after fix_imports.
|
|
||
| .. 2to3fixer:: imports3 | ||
|
|
||
| Handles other modules renames in the standard library. It is separate from |
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Handles other modules renames in the standard library. It is separate from | |
| Handles other module renames in the standard library. It is separate from |
| 'htmlentitydefs' : 'html.entities', | ||
| 'HTMLParser' : 'html.parser', | ||
| 'Cookie': 'http.cookies', | ||
| #'Cookie': 'http.cookies', is handled by fix_imports3 + renames |
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you can remove this line.
| else: | ||
| # Replace usage of the module. | ||
| bare_name = results["bare_with_attr"][0] | ||
| if isinstance(results["bare_with_attr"],list): |
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| if isinstance(results["bare_with_attr"],list): | |
| if isinstance(results["bare_with_attr"], list): |
| self.transform(node, results) | ||
| else: | ||
| # Replace usage of the module. | ||
| bare_name = results["bare_with_attr"][0] |
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What does this change do? (when is results["bare_with_attr"] not a list?)
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When there is only 1 key/value in MAPPING like in fix_imports3.
|
|
||
|
|
||
| MAPPING = { | ||
| 'Cookie': 'http.cookies', |
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you format indentation in this file?
| class Test_imports3(FixerTestCase): | ||
|
|
||
| def setUp(self): | ||
| super(Test_imports3, self).setUp(['imports3', 'renames']) |
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you only include imports3 in this test class? You can make a separate test class for the combination of imports3 and renames.
@aldwinaldwin Are you still interested on the finish this PR? I could finish it for you if you don't have time :)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters