summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRasmus Steinke <rasi@xssn.at>2015-08-30 12:14:38 +0200
committerRasmus Steinke <rasi@xssn.at>2015-08-30 12:14:38 +0200
commita24c1385b6e6cca2159ae6c0bbefdf711501a5d6 (patch)
tree30eb279b8a5547a47d242e98239a388ad74dd317
parent43edac81047d0ef5f68af1a02c2bc703fcfee448 (diff)
downloadperl-app-clerk-a24c1385b6e6cca2159ae6c0bbefdf711501a5d6.tar.gz
perl-app-clerk-a24c1385b6e6cca2159ae6c0bbefdf711501a5d6.tar.xz
make updating caches nicer; properly sort latest cache
-rwxr-xr-xclerk20
1 files changed, 9 insertions, 11 deletions
diff --git a/clerk b/clerk
index 9b8fed9..9ddad08 100755
--- a/clerk
+++ b/clerk
@@ -81,6 +81,7 @@ fix_date_format() {
updateCache () {
+ notify-send "clerk" "updating cache files"
cd $HOME/.config/clerk
rm -f *.cache
mpc --format '[%mtime%\t%albumartist%|%artist%] - (%date%) - %album%' \
@@ -88,12 +89,12 @@ updateCache () {
| grep -v '^ — ' \
| grep -v ' — $' \
| uniq \
- | fix_date_format 1 '%Y-%m-%d' \
+ | fix_date_format 1 '%Y-%m-%d-%H:%M:%S' \
| sort -u \
| sort -nr \
| awk '{for (i=2; i<NF; i++) printf $i " "; print $NF}' \
| awk -F ' - ' '{ print $1 "\t" $2 " - " $3 }' \
- | sed 's,^\([^\t]*\t[^\t]\{40\}\)[^\t]*,\1,' | column -o ' ' -s $'\t' -t > $HOME/.config/clerk/latest.cache
+ | sed 's,^\([^\t]*\t[^\t]\{40\}\)[^\t]*,\1,' | column -o ' ' -s $'\t' -t | uniq > $HOME/.config/clerk/latest.cache
mpc --format '[%albumartist%|%artist%]\t(%date%) - %album%' \
search filename '' \
| grep -v '^ - ' \
@@ -108,21 +109,18 @@ updateCache () {
| uniq \
| sed 's,^\([^\t]\{40\}\)[^\t]*,\1…,' | column -o $'\t' -s $'\t' -t \
> $HOME/.config/clerk/tracks.cache
+ notify-send "clerk" "finished updating cache files"
}
# check if clerk_helper process is running. if it isn't update cache files, if
# needed
-if [[ $(ps x| grep clerk_helper | head -1 | grep -v 'grep') ]]; then
+date=$(mpc stats | grep 'DB Updated: ')
+file="$HOME/.config/clerk/.lastupdate"
+if [ "$(< $file)" = "$date" ] && [ -f "$file" ] ; then
:
else
- date=$(mpc stats | grep 'DB Updated: ')
- file="$HOME/.config/clerk/.lastupdate"
- if [ "$(< $file)" = "$date" ] && [ -f "$file" ] ; then
- :
- else
- updateCache
- echo "${date}" > "${file}"
- fi
+ updateCache
+ echo "${date}" > "${file}"
fi
export separator="$separator"