diff options
-rwxr-xr-x | clerk_updater | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/clerk_updater b/clerk_updater new file mode 100755 index 0000000..279b428 --- /dev/null +++ b/clerk_updater @@ -0,0 +1,33 @@ +#!/bin/bash + +# create cached album list +source $HOME/.config/clerk/config + +new_db="$(mpc stats | grep Updated | sed 's/ //g')" +if [[ "$change_db" == "$new_db" ]]; then + if [[ -f $HOME/.config/clerk/album.cache && -f $HOME/.config/clerk/tracks.cache && -f $HOME/.config/clerk/last.cache ]]; then + echo "album/track cache up to date" + else + notify-send "clerk" "Creating caches" + album_temp_cur=$(mppc listall --format "{$mpd_artist} $seperator {album} $seperator {date}" | uniq &) + tracks_temp_cur=$(mppc listall --format "{artist} $seperator {track} $seperator {title} $seperator {album}" &) + last_temp_cur=$(export seperator="$seperator"; mppc listall --format "{last-modified}$seperator{date}$seperator{$mpd_artist}$seperator{album}" | sort -r | awk -F "$seperator" '{ print $2,ENVIRON["seperator"],$3,ENVIRON["seperator"],$4 }' | awk '!x[$0]++' &) + echo "$album_temp_cur" > $HOME/.config/clerk/album.cache + echo "$tracks_temp_cur" > $HOME/.config/clerk/tracks.cache + echo "$last_temp_cur" > $HOME/.config/clerk/last.cache + fi +else + notify-send "clerk" "Updating caches" + sed -i "s/change_db=".*"/change_db=""$new_db""/" $HOME/.config/clerk/config + album_temp_cur=$(mppc listall --format "{$mpd_artist} $seperator {album} $seperator {date}" | uniq &) + tracks_temp_cur=$(mppc listall --format "{artist} $seperator {track} $seperator {title} $seperator {album}" &) + last_temp_cur=$(export seperator="$seperator"; mppc listall --format "{last-modified}$seperator{date}$seperator{$mpd_artist}$seperator{album}" | sort -r | awk -F "$seperator" '{ print $2,ENVIRON["seperator"],$3,ENVIRON["seperator"],$4 }' | awk '!x[$0]++' &) + rm -f $HOME/.config/clerk/album_cache + rm -f $HOME/.config/clerk/tracks.cache + rm -f $HOME/.config/clerk/last.cache + echo "$album_temp_cur" > $HOME/.config/clerk/album.cache + echo "$tracks_temp_cur" > $HOME/.config/clerk/tracks.cache + echo "$last_temp_cur" > $HOME/.config/clerk/last.cache + +fi + |