From 342191f6068e3595cdef67217d1d8448a93529c8 Mon Sep 17 00:00:00 2001 From: "Antonio J. Delgado" Date: Sat, 4 Jan 2025 18:54:41 +0200 Subject: [PATCH] Add channels to classify --- classify_videos.sh | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/classify_videos.sh b/classify_videos.sh index 5b435a6..dae01b8 100755 --- a/classify_videos.sh +++ b/classify_videos.sh @@ -1,24 +1,28 @@ #!/bin/bash -while read -r video_id -do - if [ -n "${video_id}" ]; then - echo "Video ID: '${video_id}'" - channel=$(yt-dlp -J -- "${video_id}" | jq '.channel' | sed 's/"//g' | head -n1) - if [ -z "${channel}" ] && [ "${channel}" == "null" ]; then - channel='Unknwon channel' +if [ -r "${HOME}/.config/youtube_channels_folders.json" ]; then + while read -r video_id + do + if [ -n "${video_id}" ]; then + echo "Video ID: '${video_id}'" + channel=$(yt-dlp -J -- "${video_id}" | jq '.channel' | sed 's/"//g' | head -n1) + if [ -z "${channel}" ] && [ "${channel}" == "null" ]; then + channel='Unknwon channel' + fi + echo "Channel name: '${channel}'" + if [ -n "${video_id}" ] && [ "${video_id}" != "null" ]; then + channel_folder=$(jq ".[\"${channel}\"]" "${HOME}/.config/youtube_channels_folders.json" | sed 's/"//g') + if [ -n "${channel_folder}" ] && [ "${channel_folder}" != "null" ]; then + mkdir -p "${channel_folder}" + while read -r file + do + echo "Moving file '${file}' to '${channel_folder}'..." + mv -- "${file}" "${channel_folder}/" + done <<< "$(ls | grep -- "${video_id}")" + fi + fi fi - echo "Channel name: '${channel}'" - if [ -n "${video_id}" ] && [ "${video_id}" != "null" ]; then - mkdir -p "${channel}" - while read -r file - do - echo "Moving file '${file}'..." - mv -- "${file}" "${channel}/" - done <<< "$(ls | grep -- "${video_id}")" - fi - fi -done <<< "$(find . -mindepth 1 -maxdepth 1 | grep -v downloaded | grep -Eo '\[[^]]{11}' | tr -d '[]' | sort | uniq)" - + done <<< "$(find . -mindepth 1 -maxdepth 1 | grep -v downloaded | grep -Eo '\[[^]]{11}' | tr -d '[]' | sort | uniq)" +fi # while read -r video_id # do # if [ -n "${video_id}" ]; then