summaryrefslogtreecommitdiffstats
path: root/clerk_updater
diff options
context:
space:
mode:
authorRasmus Steinke <rasi@xssn.at>2014-09-24 17:51:42 +0200
committerRasmus Steinke <rasi@xssn.at>2014-09-24 17:51:42 +0200
commit63c682ace032b61c76fe38741b60dfe35f7a6765 (patch)
treec27b68539b04eaf24395d92f03000658927085a7 /clerk_updater
parentb0d414db9cefd89c9476030e6850db4656b122f4 (diff)
downloadperl-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-xclerk_updater33
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
+