f274cefa59
* Update empty-init test. * Update future-import-boilerplate test. * Update line-endings test. * Update metaclass-boilerplate test. * Update no-assert test. * Update no-basestring test. * Update no-dict-iteritems test. * Update no-dict-iterkeys test. * Update no-dict-itervalues test. * Update no-get-exception test. * Update no-main-display test. * Update no-smart-quotes test. * Update no-unicode-literals test. * Update no-unwanted-files test. * Update replace-urlopen test. * Update required-and-default-attributes test. * Update shebang test. * Update test-constraints test. * Update use-argspec-type-path test. * Update use-compat-six test.
43 lines
1.2 KiB
Python
Executable file
43 lines
1.2 KiB
Python
Executable file
#!/usr/bin/env python
|
|
from __future__ import (absolute_import, division, print_function)
|
|
__metaclass__ = type
|
|
|
|
import sys
|
|
|
|
|
|
def main():
|
|
# We classify files in these directories as ones we don't care about fixing (at least for now)
|
|
prune = (
|
|
'contrib/inventory/',
|
|
'contrib/vault/',
|
|
'docs/',
|
|
'examples/',
|
|
'test/integration/',
|
|
'test/legacy/',
|
|
'test/units/',
|
|
)
|
|
|
|
for path in sys.argv[1:] or sys.stdin.read().splitlines():
|
|
if any(path.startswith(p) for p in prune):
|
|
continue
|
|
|
|
with open(path, 'rb') as path_fd:
|
|
lines = path_fd.read().splitlines()
|
|
|
|
missing = True
|
|
if not lines:
|
|
# Files are allowed to be empty of everything including boilerplate
|
|
missing = False
|
|
|
|
for text in lines:
|
|
if text in (b'from __future__ import (absolute_import, division, print_function)',
|
|
b'from __future__ import absolute_import, division, print_function'):
|
|
missing = False
|
|
break
|
|
|
|
if missing:
|
|
print('%s: missing: from __future__ import (absolute_import, division, print_function)' % path)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|