fix_future_standard_library.py 733 B

123456789101112131415161718192021222324
  1. """
  2. For the ``future`` package.
  3. Changes any imports needed to reflect the standard library reorganization. Also
  4. Also adds these import lines:
  5. from future import standard_library
  6. standard_library.install_aliases()
  7. after any __future__ imports but before any other imports.
  8. """
  9. from lib2to3.fixes.fix_imports import FixImports
  10. from libfuturize.fixer_util import touch_import_top
  11. class FixFutureStandardLibrary(FixImports):
  12. run_order = 8
  13. def transform(self, node, results):
  14. result = super(FixFutureStandardLibrary, self).transform(node, results)
  15. # TODO: add a blank line between any __future__ imports and this?
  16. touch_import_top(u'future', u'standard_library', node)
  17. return result