#!/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)