import compileall
import os
import py_compile
import sys
import warnings
with warnings.catch_warnings():
warnings.filterwarnings("ignore")
print("Ready")
invalidation_mode = os.environ.get("PYC_INVALIDATION_MODE")
if invalidation_mode is not None:
try:
invalidation_mode = py_compile.PycInvalidationMode[invalidation_mode]
except KeyError:
invalidation_modes = ", ".join(
'"' + x.name + '"' for x in py_compile.PycInvalidationMode
)
print(
f'Invalid value for PYC_INVALIDATION_MODE "{invalidation_mode}", '
f"valid are {invalidation_modes}: ",
file=sys.stderr,
)
sys.exit(1)
if invalidation_mode is None:
try:
invalidation_mode = py_compile._get_default_invalidation_mode()
except AttributeError:
invalidation_mode = None
force = False
if invalidation_mode != py_compile.PycInvalidationMode.TIMESTAMP:
force = True
for path in sys.stdin:
path = path.strip()
if not path:
continue
success = compileall.compile_file(
path, invalidation_mode=invalidation_mode, force=force, quiet=2
)
print(path)