2013-02-22 17:35:23 +01:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
source ./constraint.sh
|
|
|
|
|
2013-02-25 01:27:15 +01:00
|
|
|
copy(){
|
|
|
|
src_file=${1}
|
|
|
|
dst_file=${2}
|
|
|
|
mkdir -p `dirname ${dst_file}`
|
|
|
|
cp ${src_file} ${dst_file}
|
|
|
|
}
|
|
|
|
|
2013-02-22 17:35:23 +01:00
|
|
|
# Plain text
|
|
|
|
text(){
|
|
|
|
echo Text file ${1}
|
2013-02-25 01:27:15 +01:00
|
|
|
copy ${1} ${2}${1##$SRC}
|
2013-02-22 17:35:23 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
# Multimedia
|
2013-02-25 01:27:15 +01:00
|
|
|
## WARNING: They are assumed safe.
|
2013-02-22 17:35:23 +01:00
|
|
|
audio(){
|
|
|
|
echo Audio file ${1}
|
2013-02-25 01:27:15 +01:00
|
|
|
copy ${1} ${2}${1##$SRC}
|
2013-02-22 17:35:23 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
image(){
|
|
|
|
echo Image file ${1}
|
2013-02-25 01:27:15 +01:00
|
|
|
copy ${1} ${2}${1##$SRC}
|
2013-02-22 17:35:23 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
video(){
|
|
|
|
echo Video file ${1}
|
2013-02-25 01:27:15 +01:00
|
|
|
copy ${1} ${2}${1##$SRC}
|
2013-02-22 17:35:23 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
# Random - Used
|
|
|
|
|
|
|
|
application(){
|
|
|
|
echo App file ${1}
|
2013-02-25 01:27:15 +01:00
|
|
|
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
|
|
|
|
|
2013-02-22 17:35:23 +01:00
|
|
|
}
|
|
|
|
|
2013-02-25 01:27:15 +01:00
|
|
|
# Random - Unused?
|
|
|
|
## WARNING: They are assumed safe.
|
2013-02-22 17:35:23 +01:00
|
|
|
|
|
|
|
example(){
|
|
|
|
echo Example file ${1}
|
2013-02-25 01:27:15 +01:00
|
|
|
copy ${1} ${2}${1##$SRC}
|
2013-02-22 17:35:23 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
message(){
|
|
|
|
echo Message file ${1}
|
2013-02-25 01:27:15 +01:00
|
|
|
copy ${1} ${2}${1##$SRC}
|
2013-02-22 17:35:23 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
model(){
|
|
|
|
echo Model file ${1}
|
2013-02-25 01:27:15 +01:00
|
|
|
copy ${1} ${2}${1##$SRC}
|
2013-02-22 17:35:23 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
multipart(){
|
|
|
|
echo Multipart file ${1}
|
2013-02-25 01:27:15 +01:00
|
|
|
copy ${1} ${2}${1##$SRC}
|
2013-02-22 17:35:23 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
main(){
|
|
|
|
if [ -z ${1} ]; then
|
|
|
|
echo "Please specify the destination directory."
|
|
|
|
exit
|
|
|
|
fi
|
|
|
|
# first param is the destination dir
|
|
|
|
dest=${1}
|
|
|
|
|
2013-02-25 01:27:15 +01:00
|
|
|
FILE_COMMAND='file -b --mime-type'
|
2013-02-22 17:35:23 +01:00
|
|
|
FILE_LIST=`find ${SRC} -type f`
|
|
|
|
for file in ${FILE_LIST}; do
|
|
|
|
mime=`$FILE_COMMAND ${file}`
|
2013-02-25 01:27:15 +01:00
|
|
|
echo ${mime}
|
2013-02-22 17:35:23 +01:00
|
|
|
main=`echo ${mime} | cut -f1 -d/`
|
|
|
|
details=`echo ${mime} | cut -f2 -d/`
|
|
|
|
case "${main}" in
|
|
|
|
"text")
|
2013-02-25 01:27:15 +01:00
|
|
|
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}
|
2013-02-22 17:35:23 +01:00
|
|
|
;;
|
|
|
|
*)
|
2013-02-25 01:27:15 +01:00
|
|
|
echo "This should never happen... :]"
|
2013-02-22 17:35:23 +01:00
|
|
|
echo $mime $main $details
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|