52 lines
2.1 KiB
Bash
Executable File
52 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
file_dir="/var/IA/uploads"
|
|
|
|
#$allowed_extensions = "flac", "opus", "ogg", "spx", "mp3", "jpg", "png", "json", "srt", "tsv", "txt", "vtt";
|
|
|
|
if [ -d "${file_dir}" ]
|
|
then
|
|
cd "${file_dir}"
|
|
echo '"episode_id","filename","extension","size", "sha1sum", "mime_type", "file_type"' | tee "${file_dir}/assets.csv"
|
|
find "${file_dir}" -type f \( -iname "hpr*.wav" -o -iname "hpr*.flac" -o -iname "hpr*.opus" -o -iname "hpr*.ogg" -o -iname "hpr*.spx" -o -iname "hpr*.mp3" -o -iname "hpr*.jpg" -o -iname "hpr*.png" -o -iname "hpr*.json" -o -iname "hpr*.srt" -o -iname "hpr*.tsv" -o -iname "hpr*.txt" -o -iname "hpr*.vtt" \) | while read this_file
|
|
do
|
|
this_file_basename=$( basename "${this_file}" )
|
|
this_file_dirname=$( dirname "${this_file}" )
|
|
this_file_prefix="${this_file_basename%.*}"
|
|
this_file_extension="${this_file_basename##*.}"
|
|
if [ "$( echo "${this_file_prefix}" | grep -Ec '^hpr[0-9]{4}' )" -ne "1" ]
|
|
then
|
|
continue
|
|
fi
|
|
|
|
this_file_episode_id="$( echo "${this_file_prefix}" | sed 's/hpr//g' | awk -F '_' '{print $1}' )"
|
|
if [ "${this_file_episode_id}" -lt "1" ]
|
|
then
|
|
continue
|
|
fi
|
|
|
|
if [ "${this_file_episode_id}" -gt "99999" ]
|
|
then
|
|
continue
|
|
fi
|
|
|
|
this_file_size="$( ls -al "${this_file}" | awk '{print $5}' )"
|
|
this_file_sha1sum="$( sha1sum "${this_file}" | awk '{print $1}' )"
|
|
this_file_mime_type=$( file --dereference --brief --mime "${this_file}" )
|
|
this_file_file_type=$( file --dereference --brief "${this_file}" )
|
|
|
|
echo "${this_file_episode_id},\"${this_file_basename}\",\"${this_file_extension}\",\"${this_file_size}\",\"${this_file_sha1sum}\",\"${this_file_mime_type}\",\"${this_file_file_type}\"" | tee --append "${file_dir}/assets.csv"
|
|
|
|
done
|
|
fi
|
|
|
|
if [ -s "${file_dir}/assets.csv" ]
|
|
then
|
|
cat "${file_dir}/assets.csv" | csvtojson | jq '{"assets":[.[]]}' | tee "${file_dir}/assets.json"
|
|
fi
|
|
|
|
if [ -s "${file_dir}/assets.json" ]
|
|
then
|
|
curl --netrc-file $HOME/.netrc --verbose --request POST https://hub.hackerpublicradio.org/cms/assets.php --data-ascii @"${file_dir}/assets.json" --header "Content-Type: application/json"
|
|
fi
|