123456789101112131415161718192021222324252627282930313233343536 |
- #!/usr/bin/env python
- import os
- import sys
- from glob import glob
- text_type = str
- # git usurbs your bin path for hooks and will always run system python
- if "VIRTUAL_ENV" in os.environ:
- # If pre-commit is not installed outside of the virtualenv, glob will return []
- try:
- site_packages = glob("%s/lib/*/site-packages" % os.environ["VIRTUAL_ENV"])[0]
- sys.path.insert(0, site_packages)
- except IndexError:
- pass
- def main():
- try:
- from sentry.lint.engine import get_modified_files, run
- except ModuleNotFoundError as e:
- if "VIRTUAL_ENV" not in os.environ:
- sys.stderr.write(
- "ERROR: You're executing outside of the venv. Try this command: direnv allow\n"
- )
- sys.exit(1)
- raise (e)
- files_modified = [text_type(f) for f in get_modified_files(os.getcwd()) if os.path.exists(f)]
- return run(files_modified)
- if __name__ == "__main__":
- sys.exit(main())
|