#!/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"