in core/src/klio_core/utils.py [0:0]
def warn_if_py2_job(job_dir):
dockerfile_path = os.path.join(job_dir, "Dockerfile")
if not os.path.isfile(dockerfile_path):
return
from_line = None
with open(dockerfile_path, "r") as f:
for line in f.readlines():
if line.startswith("FROM"):
from_line = line
break
if not from_line:
# not having a FROM line will break elsewhere, so no need to take
# care of it here
return
py2_dataflow_images = [
"dataflow.gcr.io/v1beta3/python",
"dataflow.gcr.io/v1beta3/python-base",
"dataflow.gcr.io/v1beta3/python-fnapi",
]
from_image = from_line.lstrip("FROM ").split(":")[0]
if from_image in py2_dataflow_images:
msg = (
"Python 2 support in Klio is deprecated. Please upgrade "
"to Python 3.5+."
)
warnings.warn(msg, category=UserWarning)