Circlean/filesystem/opt/groomer/functions.sh

133 lines
2.6 KiB
Bash
Executable File

#!/bin/bash
source ./constraint.sh
copy(){
src_file=${1}
dst_file=${2}
mkdir -p `dirname ${dst_file}`
cp ${src_file} ${dst_file}
}
# Plain text
text(){
echo Text file ${1}
copy ${1} ${2}${1##$SRC}
}
# Multimedia
## WARNING: They are assumed safe.
audio(){
echo Audio file ${1}
copy ${1} ${2}${1##$SRC}
}
image(){
echo Image file ${1}
copy ${1} ${2}${1##$SRC}
}
video(){
echo Video file ${1}
copy ${1} ${2}${1##$SRC}
}
# Random - Used
application(){
echo App file ${1}
src_file=${1}
dst_file=${2}${1##$SRC}
mime_details=${3}
case ${mime_details} in
"pdf")
echo "Got a pdf"
# WARNING: This command randomly fails, and loop indefinitely...
pdf2ps -dSAFER -sOutputFile="%stdout" ${src_file} | ps2pdfwr - ${dst_file}
;;
*xml*)
echo "Got an XML"
text ${1} ${2}
;;
*)
echo "Unknown type."
;;
esac
}
# Random - Unused?
## WARNING: They are assumed safe.
example(){
echo Example file ${1}
copy ${1} ${2}${1##$SRC}
}
message(){
echo Message file ${1}
copy ${1} ${2}${1##$SRC}
}
model(){
echo Model file ${1}
copy ${1} ${2}${1##$SRC}
}
multipart(){
echo Multipart file ${1}
copy ${1} ${2}${1##$SRC}
}
main(){
if [ -z ${1} ]; then
echo "Please specify the destination directory."
exit
fi
# first param is the destination dir
dest=${1}
FILE_COMMAND='file -b --mime-type'
FILE_LIST=`find ${SRC} -type f`
for file in ${FILE_LIST}; do
mime=`$FILE_COMMAND ${file}`
echo ${mime}
main=`echo ${mime} | cut -f1 -d/`
details=`echo ${mime} | cut -f2 -d/`
case "${main}" in
"text")
text ${file} ${dest}
;;
"audio")
audio ${file} ${dest}
;;
"image")
image ${file} ${dest}
;;
"video")
video ${file} ${dest}
;;
"application")
application ${file} ${dest} ${details}
;;
"example")
example ${file} ${dest}
;;
"message")
message ${file} ${dest}
;;
"model")
model ${file} ${dest}
;;
"multipart")
multipart ${file} ${dest}
;;
*)
echo "This should never happen... :]"
echo $mime $main $details
;;
esac
done
}