]> Frank Brehm's Git Trees - my-stuff/tools.git/commitdiff
Adding additional checks
authorFrank Brehm <frank@brehm-online.com>
Sat, 2 Sep 2017 06:45:21 +0000 (08:45 +0200)
committerFrank Brehm <frank@brehm-online.com>
Sat, 2 Sep 2017 06:45:21 +0000 (08:45 +0200)
bin/convert_movie.sh

index dea14b4526b8f7e313e0b2cd57797450edb9c065..27294dacce9895fc40f89387654c7631cb932ff4 100755 (executable)
@@ -4,7 +4,7 @@
 set -e
 set -u
 
-VERSION="0.3.3"
+VERSION="0.4.1"
 
 #------------------------------------------------------------------------------
 DEBUG="n"
@@ -364,6 +364,50 @@ get_cmd_options() {
 
 }
 
+#------------------------------------------------------------------------------
+check_binary() {
+
+    local binary="$1"
+
+    debug "Überprüfe Existenz von Binary '${binary}' ..."
+    if [[ -x "${binary}" ]] ; then
+        debug "Binary '${binary}' ist ausführbar."
+        return 0
+    fi
+
+    if type -t "${binary}" >/dev/null ; then
+        local btype=$( type -t "${binary}" )
+        if [[ "${btype}" == 'file' ]] ; then
+            debug "Binary '${binary}' ist aufrufbar unter '$( type -p "${binary}" )'."
+        else
+            debug "Binary '${binary}' ist ein '${btype}'."
+        fi
+        return 0
+    else
+        error "Binary '${RED}${binary}${NORMAL}' existiert nicht."
+        return 3
+    fi
+
+}
+
+#------------------------------------------------------------------------------
+check_for_binaries() {
+
+    local cbinary=
+    local exists="y"
+
+    for cbinary in rm ffmpeg mencoder ; do
+        if ! check_binary "${cbinary}" ; then
+            exists="n"
+        fi
+    done
+
+    if [[ "${exists}" != "y" ]] ; then
+        exit 5
+    fi
+
+}
+
 #------------------------------------------------------------------------------
 countdown() {
 
@@ -420,8 +464,8 @@ preparing() {
     info "Vorbereitungen ..."
 
     local workdir=$( dirname "${TGT_MOVIE}" )
-    TMP_MOVIE=$( mktemp --tmpdir="${workdir}" tmp.XXXXXXXX.avi )
-    debug "Temporäre Film-Datei: '${TMP_MOVIE}'."
+    TMP_MOVIE=$( mktemp --tmpdir="${workdir}" tmp.XXXXXXXX.avi )
+    debug "Temporäre Film-Datei: '${TMP_MOVIE}'."
 
     trap cleanup EXIT TERM HUP INT
 
@@ -497,6 +541,12 @@ video_converting2() {
 main() {
 
     get_cmd_options "$@"
+    check_for_binaries
+
+    if [[ ! -f "${SRC_MOVIE}" ]] ; then
+        error "Ausgangsdatei '${RED}${SRC_MOVIE}${NORMAL}' existiert nicht."
+        exit 1
+    fi
 
     echo
     echo "####################################################################"