44 lines
1.8 KiB
Bash
Executable file
44 lines
1.8 KiB
Bash
Executable file
#!/bin/bash
|
|
if [ -z "${HOME}" ]; then
|
|
if [ "$(whoami)" == "root" ]; then
|
|
HOME="/root"
|
|
else
|
|
HOME=$(grep "$(whoami)" /etc/passwd | awk 'BEGIN {FS=":"} {print($6)}')
|
|
fi
|
|
fi
|
|
CONFIG_FILE="${HOME}/.config/get_youtube_videos.conf"
|
|
cd "__src_folder__" || exit 1
|
|
if [ -r "${CONFIG_FILE}" ]; then
|
|
perms=$(stat -c %A "${CONFIG_FILE}")
|
|
if [ "${perms:4:6}" != '------' ]; then
|
|
echo "Permissions too open for config file '${CONFIG_FILE}' ($perms). Remove all permissions to group and others."
|
|
exit 1
|
|
fi
|
|
config=(--config "${CONFIG_FILE}")
|
|
else
|
|
config=()
|
|
fi
|
|
"__src_folder__/get_youtube_videos.sh" "${config[@]}" "${@}"
|
|
|
|
download_dir="$(grep download_dir "${CONFIG_FILE}" | awk 'BEGIN {FS="="} {print($2)}' | sed 's/"//g')"
|
|
if [ "${download_dir}" == "" ]; then
|
|
download_dir="${HOME}/downloaded_youtube_videos"
|
|
fi
|
|
cd "${download_dir}" || exit 1
|
|
# Clean up of JSON files from deleted videos
|
|
mkdir -p "${download_dir}/.json_from_deleted_videos/"
|
|
find . -mindepth 1 -maxdepth 1 -type f -iname \*.json | grep -Eo '\[[0-9a-zA-Z\_\-]{11}\]' |tr -d '][' | sort | uniq | while read -r video_id
|
|
do
|
|
if [ -z "$(ls -- *"${video_id}"*.mkv 2> /dev/null)" ]; then
|
|
if [ -z "$(ls -- *"${video_id}"*.mp4 2> /dev/null)" ]; then
|
|
# echo "No MKV/MP4 video for ${video_id}"
|
|
mv -- *"${video_id}"* "${download_dir}/.json_from_deleted_videos/"
|
|
fi
|
|
fi
|
|
done
|
|
# Allow access to everyone to the (public) videos
|
|
chmod 0777 "${download_dir}" -R
|
|
"__src_folder__/fix_dir_dates.sh"
|
|
|
|
jellyfin_token="$(grep jellyfin_token "${CONFIG_FILE}" | awk 'BEGIN {FS="="} {print($2)}' | sed 's/"//g')"
|
|
curl -s -X POST -H "Authorization: MediaBrowser Token=\"${jellyfin_token}\"" https://jf.koti.site/Items/d875e72781023f89a7e1f76529a9962a/Refresh
|