diff --git a/containerctl b/containerctl index f34fc60..d91a713 100755 --- a/containerctl +++ b/containerctl @@ -11,6 +11,39 @@ LOGDIR="/var/log/containerctl" TODAY="$(date '+%F')" LOG="${LOGDIR}/${TODAY}" +get_python_path() +{ + py="python3" + pyver="$(/usr/bin/env "${py}" -c 'import sys; print(sys.version_info.minor)')" + if [ "${pyver}" -lt "11" ] + then + py="python3.13" + else + printf '%b' "${py}" + return + fi + + if /usr/bin/env "${py}" 2> /dev/null + then + return + fi + + py="python3.12" + if /usr/bin/env "${py}" 2> /dev/null + then + return + fi + + py="python3.11" + if /usr/bin/env "${py}" 2> /dev/null + then + return + fi + + log_error 'containerctl needs at least Python 3.11 to run!' + exit 1 +} + log_error() { printf '[%b] (EE) %b\n' "${TODAY}" "${@}" | tee -a "${LOG}" @@ -106,12 +139,7 @@ generate_container() exit 1 fi - mypython="python3" - pyver="$(/usr/bin/env "${mypython}" -c 'import sys; print(sys.version_info.minor)')" - if [ "${pyver}" -lt "11" ] - then - mypython="python3.11" - fi + mypython="$(get_python_path)" /usr/bin/env "${mypython}" "${BASEDIR}/generate/generate.py" \ "${CONFIGDIR}/${config}" "${LOG}" "${CONTAINERDIR}"