| from __future__ import absolute_import |
| from __future__ import print_function |
| from __future__ import unicode_literals |
| GITHUB_NON_PERMALINK = re.compile( |
| br'https://github.com/[^/ ]+/[^/ ]+/blob/master/[^# ]+#L\d+', |
| def _check_filename(filename): |
| with open(filename, 'rb') as f: |
| for i, line in enumerate(f, 1): |
| if GITHUB_NON_PERMALINK.search(line): |
| sys.stdout.write('{}:{}:'.format(filename, i)) |
| getattr(sys.stdout, 'buffer', sys.stdout).write(line) |
| parser = argparse.ArgumentParser() |
| parser.add_argument('filenames', nargs='*') |
| args = parser.parse_args(argv) |
| for filename in args.filenames: |
| retv |= _check_filename(filename) |
| print('Non-permanent github link detected.') |
| print('On any page on github press [y] to load a permalink.') |
| if __name__ == '__main__': |