Esempio n. 1
0
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
Esempio n. 2
0
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