SOURCES: seom-backup - better script

wolf wolf at pld-linux.org
Sat Feb 3 19:11:56 CET 2007


Author: wolf                         Date: Sat Feb  3 18:11:56 2007 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- better script

---- Files affected:
SOURCES:
   seom-backup (1.1 -> 1.2) 

---- Diffs:

================================================================
Index: SOURCES/seom-backup
diff -u SOURCES/seom-backup:1.1 SOURCES/seom-backup:1.2
--- SOURCES/seom-backup:1.1	Sat Feb  3 02:49:03 2007
+++ SOURCES/seom-backup	Sat Feb  3 19:11:51 2007
@@ -1,58 +1,53 @@
-#!/bin/bash
+#!/bin/sh
 
-set -x
+KDE=0
 
-FPS=""
-OPT=""
+[ -x /usr/bin/kdialog ] && KDE=1
 
-if ! which mencoder &> /dev/null; then
-	echo "You need to install mencoder"
-	exit -1
+if [ ! -x /usr/bin/mencoder ]; then
+	[ $KDE -eq 1 ] && kdialog --title "No mencoder installed" --passivepopup "Uncompressed video is in the $1 directory." 10 &
+	echo "No mencoder installed"
+	exit 1
 fi
 
 if [ ${#} -ne 2 ]; then
-	echo "Usage: $ ${0} [src dir] [dst dir]"
-	exit 1;
+	echo "Usage: $0 [src dir] [dst dir]"
+	exit 2
 fi
 
-if [ ! -d ${1} -o ! -d ${2} ]; then
-	echo "Source or destination directories don't exist"
-	exit 1
+if [ ! -d "$1" -o ! -d "$2" ]; then
+	echo "Source or destination directory doesn't exist."
+	exit 3
 fi
 
-if [ -e "$HOME/.seom/backup" ]; then
-	source "$HOME/.seom/backup"
+filename="$(ls $1/*.seom | head -1 2> /dev/null)"
+
+if [ ! -e "$filename" ]; then
+	echo "No .seom files in the $1 directory."
+	exit 4
 fi
 
-files=$(ls ${1}/*.seom 2> /dev/null)
-for src in ${files}; do
-	tmp=${src##*/}
-
-	tmp=$(mktemp -p ${1} ${tmp}-XXXXXX)
-	rm ${tmp}
-	mv -f "${src}" "${tmp}" # FIXME: don't overwrite existing files
-done
-
-files=$(ls ${TEMP}/*.seom-?????? 2> /dev/null)
-for src in ${files}; do
-	tmp=${src##*/}
-	dst="${2}/${tmp%%.seom-??????}--$(stat -c %y ${src} | sed 's#\..*##' | sed 's# #--#').avi"
-	
-	echo -n "Processing '${src}' "
-
-	unset int
-	trap 'int=1' SIGINT
-	if [ "${FPS}" = "" ]; then
-		seom-filter ${src} | mencoder - -ovc xvid -xvidencopts bitrate=1200 -o ${dst} ${OPT} &> /dev/null
-	else
-		seom-filter ${src} -r ${FPS} | mencoder - -ovc xvid -xvidencopts bitrate=1200 -o ${dst} ${OPT} &> /dev/null
-	fi
-
-	if [ ${?} -eq 0 ] && [ -z ${int} ]; then
-		rm ${src}
-		echo "..."
-	else
-		rm ${dst}
-		echo "... failed"
-	fi
-done
+tmpfn=$(mktemp $filename-$$-$RANDOM-XXXXXX)
+
+mv -f "$filename" "$tmpfn"
+
+[ $KDE -eq 1 ] && kdialog --passivepopup "Encoding video..." 3 &
+
+dest="$2/$(basename $filename .seom)-$(date "+%y-%m-%d %H:%M:%S").avi"
+
+seom-filter "$tmpfn" | mencoder - -ovc xvid -xvidencopts bitrate=1200 -o "$dest" ${OPT} 2>&1 >/dev/null
+
+if [ $? -eq 0 ]; then
+	[ $KDE -eq 1 ] && kdialog --title "Encoding successfull" --passivepopup "$dest done." 10 &
+	echo "Encoding successfull."
+	echo "$dest done."
+	rm -f "$tmpfn"
+
+	exit 0
+else
+	[ $KDE -eq 1 ] && kdialog --title "Encoding failed" --passivepopup "Uncompressed video is in the $1 directory." 10 &
+	echo "Encoding failed."
+	rm -f "$dest"
+
+	exit 5
+fi
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SOURCES/seom-backup?r1=1.1&r2=1.2&f=u



More information about the pld-cvs-commit mailing list