def run(args): if not args: args = ['.'] work = set() arg_filenames = [] for arg in args: if os.path.isdir(arg): for dirpath, dirnames, filenames in os.walk(arg): work.update( os.path.join(dirpath, f) for f in fnmatch.filter(filenames, '*.py')) else: arg_filenames.append(arg) work.update(fnmatch.filter(arg_filenames, '*.py')) for filename in work: unused = python_code_parsing.unused_imports( python_source_filename=filename, ignored_imports=('libtbx.load_env', 'libtbx.forward_compatibility', 'import libtbx.start_print_trace', 'import libtbx.callbacks'), ignored_imports_from=('__future__', ), ignore_imports_flagged_by_comments=('# import dependency', '# implicit import')) if unused: print 'In file %s:' % filename print unused print
def exercise_unused_imports(): from libtbx.python_code_parsing import unused_imports, imported_name unused = unused_imports(unused_imports_test_case_1_1) assert unused.names == set(( 'foo', 'far', 'close', 'baz', 'barbar', 'bozboz' )) unused = unused_imports(unused_imports_test_case_1_2) assert unused.names == set(( 'far', 'close', 'baz', 'barbar', 'bozboz' )) unused = unused_imports(unused_imports_test_case_1_3) assert unused.names == set(( 'foo', 'far', 'close', 'barbar', 'bozboz' )) unused = unused_imports(unused_imports_test_case_1_4) assert unused.names == set(( 'far', 'close', 'barbar', 'bozboz' )) unused = unused_imports(unused_imports_test_case_1_5) assert unused.names == set(( 'far', 'close', 'baz', 'barbar', 'bozboz' )) unused = unused_imports(unused_imports_test_case_2) assert not unused unused = unused_imports(unused_imports_test_case_3) assert set(unused) == set(( imported_name('foo', lineno=1), )) unused = unused_imports(unused_imports_test_case_4) assert set(unused) == set(( imported_name('foo', lineno=4), )) unused = unused_imports(unused_imports_test_case_5) assert set(unused) == set(( imported_name('foo', lineno=4), )) unused = unused_imports(unused_imports_test_case_6) assert set(unused) == set(( imported_name('bar', lineno=1), )) unused = unused_imports(unused_imports_test_case_7) assert set(unused) == set(( imported_name('bar', lineno=1), imported_name('foo', lineno=6), )) unused = unused_imports(unused_imports_test_case_7_bis) assert set(unused) == set(( imported_name('bar', lineno=1), )) unused = unused_imports(unused_imports_test_case_8) assert set(unused) == set(( imported_name('foo', lineno=1), )) unused = unused_imports(unused_imports_test_case_9) assert not unused unused = unused_imports(unused_imports_test_case_10) assert set(unused) == set(( imported_name('foo', lineno=10), )) unused = unused_imports(unused_imports_test_case_11) assert unused unused = unused_imports(unused_imports_test_case_11, ignored_imports=('libtbx.load_env',)) assert not unused unused = unused_imports(unused_imports_test_case_12) assert not unused unused = unused_imports(unused_imports_test_case_13) assert set(unused) == set(( imported_name('bar', lineno=1), )) unused = unused_imports(unused_imports_test_case_14) assert set(unused) == set(( imported_name('bar', lineno=1), )) unused = unused_imports(unused_imports_test_case_15) assert set(unused) == set(( imported_name('bar', lineno=1), )) unused = unused_imports(unused_imports_test_case_16) assert not unused unused = unused_imports(unused_imports_test_case_17) assert not unused unused = unused_imports(unused_imports_test_case_18) assert not unused unused = unused_imports(unused_imports_test_case_19) assert not unused unused = unused_imports(unused_imports_test_case_20) assert not unused unused = unused_imports(unused_imports_test_case_21) assert not unused unused = unused_imports(unused_imports_test_case_22) assert not unused unused = unused_imports(unused_imports_test_case_23) assert unused unused = unused_imports( unused_imports_test_case_23, ignore_imports_flagged_by_comments=('# import dependency',)) assert not unused unused = unused_imports(unused_imports_test_case_24) assert not unused unused = unused_imports(unused_imports_test_case_25) assert not unused unused = unused_imports(unused_imports_test_case_26) assert not unused
def exercise_unused_imports(): from libtbx.python_code_parsing import unused_imports, imported_name unused = unused_imports(unused_imports_test_case_1_1) assert unused.names == set(( 'foo', 'far', 'close', 'baz', 'barbar', 'bozboz' )) unused = unused_imports(unused_imports_test_case_1_2) assert unused.names == set(( 'far', 'close', 'baz', 'barbar', 'bozboz' )) unused = unused_imports(unused_imports_test_case_1_3) assert unused.names == set(( 'foo', 'far', 'close', 'barbar', 'bozboz' )) unused = unused_imports(unused_imports_test_case_1_4) assert unused.names == set(( 'far', 'close', 'barbar', 'bozboz' )) unused = unused_imports(unused_imports_test_case_1_5) assert unused.names == set(( 'far', 'close', 'baz', 'barbar', 'bozboz' )) unused = unused_imports(unused_imports_test_case_2) assert not unused unused = unused_imports(unused_imports_test_case_3) assert set(unused) == set(( imported_name('foo', lineno=1), )) unused = unused_imports(unused_imports_test_case_4) assert set(unused) == set(( imported_name('foo', lineno=4), )) unused = unused_imports(unused_imports_test_case_5) assert set(unused) == set(( imported_name('foo', lineno=4), )) unused = unused_imports(unused_imports_test_case_6) assert set(unused) == set(( imported_name('bar', lineno=1), )) unused = unused_imports(unused_imports_test_case_7) assert set(unused) == set(( imported_name('bar', lineno=1), imported_name('foo', lineno=6), )) unused = unused_imports(unused_imports_test_case_7_bis) assert set(unused) == set(( imported_name('bar', lineno=1), )) unused = unused_imports(unused_imports_test_case_8) assert set(unused) == set(( imported_name('foo', lineno=1), )) unused = unused_imports(unused_imports_test_case_9) assert not unused unused = unused_imports(unused_imports_test_case_10) assert set(unused) == set(( imported_name('foo', lineno=10), )) unused = unused_imports(unused_imports_test_case_11) assert unused unused = unused_imports(unused_imports_test_case_11, ignored_imports=('libtbx.load_env',)) assert not unused unused = unused_imports(unused_imports_test_case_12) assert not unused unused = unused_imports(unused_imports_test_case_13) assert set(unused) == set(( imported_name('bar', lineno=1), )) unused = unused_imports(unused_imports_test_case_14) assert set(unused) == set(( imported_name('bar', lineno=1), )) unused = unused_imports(unused_imports_test_case_15) assert set(unused) == set(( imported_name('bar', lineno=1), )) unused = unused_imports(unused_imports_test_case_16) assert not unused unused = unused_imports(unused_imports_test_case_17) assert not unused unused = unused_imports(unused_imports_test_case_18) assert not unused unused = unused_imports(unused_imports_test_case_19) assert not unused unused = unused_imports(unused_imports_test_case_20) assert not unused unused = unused_imports(unused_imports_test_case_21) assert not unused unused = unused_imports(unused_imports_test_case_22) assert not unused unused = unused_imports(unused_imports_test_case_23) assert unused unused = unused_imports( unused_imports_test_case_23, ignore_imports_flagged_by_comments=('# import dependency',)) assert not unused unused = unused_imports(unused_imports_test_case_24) assert not unused unused = unused_imports(unused_imports_test_case_25) assert not unused unused = unused_imports(unused_imports_test_case_26) assert not unused