diff options
author | Rasmus Steinke <rasi@xssn.at> | 2014-08-25 22:47:34 +0200 |
---|---|---|
committer | Rasmus Steinke <rasi@xssn.at> | 2014-08-25 22:47:34 +0200 |
commit | 21c4b22424b4dcb9a9e9c4b4800e2f183e074db4 (patch) | |
tree | 95dba2088d27e27f5406eb7bb8a2bfc77a575cc3 /clerk | |
parent | d3b2ea8894a138266da6f012b9da3c9e606f5aeb (diff) | |
download | perl-app-clerk-21c4b22424b4dcb9a9e9c4b4800e2f183e074db4.tar.gz perl-app-clerk-21c4b22424b4dcb9a9e9c4b4800e2f183e074db4.tar.xz |
only add tracks to database if there are actual track ratings
Diffstat (limited to 'clerk')
-rw-r--r-- | clerk | 54 |
1 files changed, 24 insertions, 30 deletions
@@ -222,24 +222,26 @@ updateDB () { done done for line in *.ratings; do - artist=$(grep "^artist=" "$line" | cut -d '=' -f2- ) - date=$(grep "^date=" "$line" | cut -d '=' -f2-) - album=$(grep "^album=" "$line" | cut -d '=' -f2-) - rating_split=$(grep "^rating=" "$line" | cut -d "=" -f2-) - directory=$(grep "^directory=" "$line" | cut -d '=' -f2-) - echo "$rating_split" | while read ratings; do - rating=$(echo "$ratings" | cut -d '/' -f1) - rating_max=$(echo "$ratings" | cut -d '/' -f2) - file=$(echo "$ratings" | cut -d ' ' -f2-) - date=${date//\'/\\\'} - artist=${artist//\'/\\\'} - album=${album//\'/\\\'} - directory=${directory//\'/\\\'} - title=${title//\'\\\'} - rating=${rating//\'/\\\'} - sqlite3 ../ratings.db "insert or replace into tracks (date, artist, album, directory, rating) values ('$date', '$artist', '$album', '$directory/$file', '$rating')" + if grep "^rating=" "$line" > /dev/null; then + artist=$(grep "^artist=" "$line" | cut -d '=' -f2- ) + date=$(grep "^date=" "$line" | cut -d '=' -f2-) + album=$(grep "^album=" "$line" | cut -d '=' -f2-) + rating_split=$(grep "^rating=" "$line" | cut -d "=" -f2-) + directory=$(grep "^directory=" "$line" | cut -d '=' -f2-) + echo "$rating_split" | while read ratings; do + rating=$(echo "$ratings" | cut -d '/' -f1) + rating_max=$(echo "$ratings" | cut -d '/' -f2) + file=$(echo "$ratings" | cut -d ' ' -f2-) + date=${date//\'/\\\'} + artist=${artist//\'/\\\'} + album=${album//\'/\\\'} + directory=${directory//\'/\\\'} + title=${title//\'\\\'} + rating=${rating//\'/\\\'} + sqlite3 ../ratings.db "insert or replace into tracks (date, artist, album, directory, rating) values ('$date', '$artist', '$album', '$directory/$file', '$rating')" + done + fi done - done ratingPrompt } @@ -803,7 +805,7 @@ loadRatedTracks () { exit else cd $HOME/.config/clerk - for tracks in "$(sqlite3 ratings.db "select directory from tracks where rating = "$rating";")"; do + for tracks in "$(sqlite3 ratings.db "select directory from tracks where rating >= "$rating";")"; do echo "$tracks" done | mpc add fi @@ -811,20 +813,12 @@ loadRatedTracks () { loadRandomRatedTracks () { number="$(echo " " | dmenu_t -p "Number of Songs > " | xargs echo)" - ratings_min="$(echo " " | dmenu_t -p "Minimum Rating > " | xargs echo)" - ratings_max="$(echo " " | dmenu_t -p "Maximum Rating > " | xargs echo)" + rating="$(seq "$track_maxratings" | dmenu_t -p "Minimum Rating > ")" mpc clear - n=0; while (( n++ < $number )); - do - comment=$(for ((i="$ratings_min"; i<="$ratings_max"; i++)); do echo "$i"; done | shuf -n1) - artist=$(mpc list artist comment "$comment" | shuf -n1) - title=$(mpc list title artist "$artist" comment "$comment" | shuf -n1) - mpc findadd artist "$artist" comment "$comment" title "$title" - done + for tracks in "$(sqlite3 ratings.db "select directory from tracks where rating >= "$rating";")"; do + echo "$tracks" + done | shuf -n "$number" | mpc add mpc play -# rating=$(for ((i="$ratings_min"; i<="$ratings_max"; i++)); do mpc find comment "$i" | shuf -n 1) -# title=$(for ((i="$ratings_min"; i<="$ratings_max"; i++)); do mpc list title comment "$i" | shuf -n 1) -# mpc find } |