| from __future__ import absolute_import |
| from __future__ import print_function |
| from __future__ import unicode_literals |
| from typing import Optional |
| from typing import Sequence |
| def main(argv=None): # type: (Optional[Sequence[str]]) -> int |
| parser = argparse.ArgumentParser(description='Checks for broken symlinks.') |
| parser.add_argument('filenames', nargs='*', help='Filenames to check') |
| args = parser.parse_args(argv) |
| for filename in args.filenames: |
| os.path.islink(filename) and |
| not os.path.exists(filename) |
| ): # pragma: no cover (symlink support required) |
| print('{}: Broken symlink'.format(filename)) |
| if __name__ == '__main__': |