diff options
author | Rasmus Steinke <rasi@xssn.at> | 2014-09-24 17:51:42 +0200 |
---|---|---|
committer | Rasmus Steinke <rasi@xssn.at> | 2014-09-24 17:51:42 +0200 |
commit | 63c682ace032b61c76fe38741b60dfe35f7a6765 (patch) | |
tree | c27b68539b04eaf24395d92f03000658927085a7 /clerk_updater | |
parent | b0d414db9cefd89c9476030e6850db4656b122f4 (diff) | |
download | perl-app-clerk-63c682ace032b61c76fe38741b60dfe35f7a6765.tar.gz perl-app-clerk-63c682ace032b61c76fe38741b60dfe35f7a6765.tar.xz |
outsourced updating of database to its own script - run it in background
Diffstat (limited to 'clerk_updater')
-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 + |