From 63c682ace032b61c76fe38741b60dfe35f7a6765 Mon Sep 17 00:00:00 2001 From: Rasmus Steinke Date: Wed, 24 Sep 2014 17:51:42 +0200 Subject: outsourced updating of database to its own script - run it in background --- clerk_updater | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100755 clerk_updater (limited to 'clerk_updater') 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 + -- cgit v1.2.3-24-g4f1b