diff options
author | Rasmus Steinke <rasi@xssn.at> | 2014-09-24 17:55:42 +0200 |
---|---|---|
committer | Rasmus Steinke <rasi@xssn.at> | 2014-09-24 17:55:42 +0200 |
commit | d3a2fcada3063f445e140a7e36d3e5f88df7b393 (patch) | |
tree | 3ae02a3d5b0f78f93b56d0c061b8bba81dfc446d | |
parent | 63c682ace032b61c76fe38741b60dfe35f7a6765 (diff) | |
download | perl-app-clerk-d3a2fcada3063f445e140a7e36d3e5f88df7b393.tar.gz perl-app-clerk-d3a2fcada3063f445e140a7e36d3e5f88df7b393.tar.xz |
outsourced updater - runs in background
-rwxr-xr-x | clerk | 115 |
1 files changed, 9 insertions, 106 deletions
@@ -8,55 +8,13 @@ else mkdir "$HOME/.config/clerk/ratings" fi -# create cached album list -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 - album_temp=$(cat $HOME/.config/clerk/album.cache) - tracks_temp=$(cat $HOME/.config/clerk/tracks.cache) - last_temp=$(cat $HOME/.config/clerk/last.cache) - 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) - echo "$album_temp_cur" > $HOME/.config/clerk/album.cache - album_temp=$(cat $HOME/.config/clerk/album.cache) - tracks_temp_cur=$(mppc listall --format "{artist} $seperator {track} $seperator {title} $seperator {album}") - echo "$tracks_temp_cur" > $HOME/.config/clerk/tracks.cache - tracks_temp=$(cat $HOME/.config/clerk/tracks.cache) - 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 "$last_temp_cur" > $HOME/.config/clerk/last.cache - last_temp=$(cat $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 - rm -f $HOME/.config/clerk/album_cache - rm -f $HOME/.config/clerk/tracks.cache - rm -f $HOME/.config/clerk/last.cache - album_temp_cur=$(mppc listall --format "{$mpd_artist} $seperator {album} $seperator {date}" | uniq) - echo "$album_temp_cur" > $HOME/.config/clerk/album.cache - album_temp=$(cat $HOME/.config/clerk/album.cache) - tracks_temp_cur=$(mppc listall --format "{artist} $seperator {track} $seperator {title} $seperator {album}") - echo "$tracks_temp_cur" > $HOME/.config/clerk/tracks.cache - tracks_temp=$(cat $HOME/.config/clerk/tracks.cache) - 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 "$last_temp_cur" > $HOME/.config/clerk/last.cache - last_temp=$(cat $HOME/.config/clerk/last.cache) - -fi - +clerk_updater & +album_temp=$(cat $HOME/.config/clerk/album.cache) +tracks_temp=$(cat $HOME/.config/clerk/tracks.cache) +last_temp=$(cat $HOME/.config/clerk/last.cache) updateCache() { - rm -f $HOME/.config/clerk/album_cache - album_temp_cur=$(mppc listall --format "{$mpd_artist} $seperator {album} $seperator {date}" | uniq) - echo "$album_temp_cur" > $HOME/.config/clerk/album.cache - - rm -f $HOME/.config/clerk/tracks.cache - tracks_temp_cur=$(mppc listall --format "{artist} $seperator {track} $seperator {title} $seperator {album}") - echo "$tracks_temp_cur" > $HOME/.config/clerk/tracks.cache - - notify-send "Clerk" "Album/Track Caches updated" + clerk_updater & } dplayPrompt () { @@ -1399,8 +1357,8 @@ browseGenre2() { while read ARTIST do seen=1 - export ARTIST="$ARTIST" - if [[ "$ARTIST" == "0 Return to Genre Menu" ]] + export GENRE="$ARTIST" + if [[ "$GENRE" == "0 Return to Genre Menu" ]] then browseGenre elif [[ "$ARTIST" == "Replace All" ]] then mpc clear && mpc add / && mpc play @@ -1409,36 +1367,9 @@ browseGenre2() { elif [[ "$ARTIST" == "Insert All" ]] then mpc insert / else - browseGenre3 - fi - done < <(echo -e "0 Return to Main Menu\n---\nAdd All\nInsert all\nReplace all\n---\n$(mppc list $mpd_artist genre "$GENRE" )" | dmenu_t -dmenu -p "Choose Genre > ") - - if [[ $seen = 0 ]] - then - exit - fi -} - -browseGenre3() { - ALBUMS=$(mppc list album "$ARTIST") - declare -i seen=0 - while read ALBUM - do - seen=1 - ALBUM_FINAL=$(echo "$ALBUM" | awk -F " $seperator " '{ print $2 }') - DATE=$(echo "$ALBUM" | awk -F " $seperator " '{ print $1 }') - if [[ "$ALBUM" == "0 Return to Artist Menu" ]] - then browseGenre2 - elif [[ "$ALBUM" == "Replace All" ]] - then mpc clear && mppc findadd artist "$ARTIST" && mpc play - elif [[ "$ALBUM" == "Add All" ]] - then mppc findadd artist "$ARTIST" - elif [[ "$ALBUM" == "Insert All" ]] - then mppc find artist "$ARTIST" --format '{file}'| mpc insert - else - browseGenre4 + browseAlbum fi - done < <(echo -e "0 Return to Artist Menu\n---\nReplace All\nAdd All\nInsert All\n---\n$(mppc find $mpd_artist "$ARTIST" genre "$GENRE" --format "{date} $seperator {album}" | sort | uniq)" | dmenu_t -dmenu -p "Choose Album > ") + done < <(echo -e "0 Return to Main Menu\n---\nAdd All\nInsert all\nReplace all\n---\n$(mpc list artist genre "$GENRE")" | dmenu_t -dmenu -p "Choose Genre > ") if [[ $seen = 0 ]] then @@ -1446,34 +1377,6 @@ browseGenre3() { fi } -browseGenre4() { - declare -i seen=0 - while read TRACK - do - seen=1 - TRACKFINAL=$(echo "$TRACK" | awk -F " $seperator " '{ print $2 }') - if [[ "$TRACK" = "0 Return to Album Menu" ]] - then browseGenre3 - elif [[ "$TRACK" == "Replace All" ]] - then mpc clear && mppc findadd artist "$ARTIST" album "$ALBUM_FINAL" date "$DATE" && mpc play - elif [[ "$TRACK" == "Add All" ]] - then mppc findadd artist "$ARTIST" album "$ALBUM_FINAL" date "$DATE" - elif [[ "$TRACK" == "Insert All" ]] - then mppc find artist "$ARTIST" album "$ALBUM_FINAL" date "$DATE" --format '{file}' | mpc insert - else - if [[ $(mpc playlist) == "" ]]; then - mppc findadd artist "$ARTIST" album "$ALBUM_FINAL" date "$DATE" title "$TRACKFINAL" && mpc play - else - mppc findadd artist "$ARTIST" album "$ALBUM_FINAL" date "$DATE" title "$TRACKFINAL" - fi - fi - done < <(echo -e "0 Return to Album Menu\n---\nReplace All\nAdd All\nInsert All\n---\n$(mppc find $mpd_artist "$ARTIST" album "$ALBUM_FINAL" --format "{track} $seperator {title}")" | dmenu_t -dmenu -p "Chose Track > ") - - if [[ $seen = 0 ]]; then - exit - fi -} - ################################################################################ |