Use "six" to abstract dictionary iteration and callable for python 2/3
Review Request #4893 — Created Nov. 4, 2013 and submitted
Use "six" to abstract dictionary iteration and callable for python 2/3
I'm starting to work on porting our codebase to be compatible with both python
2 and 3. In python 3, items(), keys(), and values() are all iterators by
default and the old iter*() methods are gone. The "six" library includes
abstractions to handle these.In addition, for some strange reason 'callable' is gone in python 3.0 and 3.1.
They brought it back in 3.2 (which may be a reasonable minimum), but for now,
to get the 2to3 tool to shut up, I'm using six's abstraction for that as well.
- Ran djblets unit tests
- Ran reviewboard unit tests
Description | From | Last Updated |
---|---|---|
That ordering doesn't seem right. I think the from made sense where it was. |
chipx86 | |
Just for my own knowledge, why is this change needed? I thought sorted() allowed an iterator. |
chipx86 | |
We should probably just use self.get_enabled_extensions() here. |
chipx86 | |
Should use self.get_installed_extensions. |
chipx86 |