123456789101112131415161718192021222324 |
- #!/usr/bin/env python
- # Wrapper for python2 and python3 around compileall to raise exception
- # when a python byte code generation failed.
- #
- # Inspired from:
- # http://stackoverflow.com/questions/615632/how-to-detect-errors-from-compileall-compile-dir
- from __future__ import print_function
- import sys
- import py_compile
- import compileall
- class ReportProblem:
- def __nonzero__(self):
- type, value, traceback = sys.exc_info()
- if type is not None and issubclass(type, py_compile.PyCompileError):
- print("Cannot compile %s" %value.file)
- raise value
- return 1
- report_problem = ReportProblem()
- compileall.compile_dir(sys.argv[1], quiet=report_problem)
|