From 3ba7e6da1119dbd0c2466d40c96c9f9d0189d3f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emre=20AKY=C3=9CZ?= Date: Sun, 19 Nov 2023 02:37:42 +0300 Subject: [PATCH] Add robust error handling. --- .local/bin/channelrefresh | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.local/bin/channelrefresh b/.local/bin/channelrefresh index 7b494770..5a449c77 100644 --- a/.local/bin/channelrefresh +++ b/.local/bin/channelrefresh @@ -4,9 +4,18 @@ while ! ping -c 1 9.9.9.9 > /dev/null 2>&1; do sleep 0.5; done DATA_DIR="$HOME/.cache/youtube_channels" CHANNEL_LIST="$HOME/.local/share/channels.txt" -mkdir -p "$DATA_DIR"; touch $CHANNEL_LIST +mkdir -p "$DATA_DIR" && touch "$CHANNEL_LIST" -[ ! -s $CHANNEL_LIST ] && notify-send "You don't have any channels in "channels.txt". Refer to documentation." +error_handling() { + [ -s "$CHANNEL_LIST" ] || { + notify-send "You don't have any channels in 'channels.txt'." + exit 1 + } + grep -q "^.*=https://www.youtube.com/@[[:alnum:]]*/videos$" "$CHANNEL_LIST" || { + notify-send "'channels.txt' formatting is wrong." + exit 1 + } +} compare_data() { local channel_name="$1" @@ -49,4 +58,5 @@ update_all_channels() { done < "$CHANNEL_LIST" } +error_handling update_all_channels