contrib/check-py3-compat.py
changeset 28475 ae522fb493d4
parent 27331 35e69407b1ac
child 28583 260ce2eed951
equal deleted inserted replaced
28474:00e6e0d0bfeb 28475:ae522fb493d4
    14 
    14 
    15 def check_compat(f):
    15 def check_compat(f):
    16     """Check Python 3 compatibility for a file."""
    16     """Check Python 3 compatibility for a file."""
    17     with open(f, 'rb') as fh:
    17     with open(f, 'rb') as fh:
    18         content = fh.read()
    18         content = fh.read()
       
    19     root = ast.parse(content)
    19 
    20 
    20     # Ignore empty files.
    21     # Ignore empty files.
    21     if not content.strip():
    22     if not root.body:
    22         return
    23         return
    23 
    24 
    24     root = ast.parse(content)
       
    25     futures = set()
    25     futures = set()
    26     haveprint = False
    26     haveprint = False
    27     for node in ast.walk(root):
    27     for node in ast.walk(root):
    28         if isinstance(node, ast.ImportFrom):
    28         if isinstance(node, ast.ImportFrom):
    29             if node.module == '__future__':
    29             if node.module == '__future__':