1""" 2For the ``future`` package. 3 4Turns any print statements into functions and adds this import line: 5 6 from __future__ import print_function 7 8at the top to retain compatibility with Python 2.6+. 9""" 10 11from libfuturize.fixes.fix_print import FixPrint 12from libfuturize.fixer_util import future_import 13 14class FixPrintWithImport(FixPrint): 15 run_order = 7 16 def transform(self, node, results): 17 # Add the __future__ import first. (Otherwise any shebang or encoding 18 # comment line attached as a prefix to the print statement will be 19 # copied twice and appear twice.) 20 future_import(u'print_function', node) 21 n_stmt = super(FixPrintWithImport, self).transform(node, results) 22 return n_stmt 23