Initial commit - Initial version.

master
Pitriss 7 years ago
parent 4f2f0bf1b0
commit a869bbfdea

1
.gitignore vendored

@ -0,0 +1 @@
*~

@ -1,3 +1,10 @@
# mpd_playlist_diff
Script for creating diff from playlist based on stored playlist listing in another file.
Simple script supposed to be run from cron which generates changelog of current MPD playlist. it is based on storing previous version of playlist and then doing some 'diff' magic with it and current playlist. I wrote this script for my MPD streaming instance. Log could be used as input data for statuspage.
**Dependencies:**
* mpc
**Licence:**
WTFPL

@ -0,0 +1,42 @@
#!/bin/bash
finallog="/var/tmp/mplaydiff.log"
if [ ! -r /var/tmp/mplaylist-old ]; then
mpc playlist > /var/tmp/mplaylist
sort -o /var/tmp/mplaylist /var/tmp/mplaylist
cp /var/tmp/mplaylist /var/tmp/mplaylist-old
echo "mpplaylists initialized"
exit 1
fi
check=$(cmp /var/tmp/mplaylist-old /var/tmp/mplaylist)
if [ -z "$check" ]; then
exit 0
fi
REMOVED=$(comm -23 /var/tmp/mplaylist-old /var/tmp/mplaylist)
comm -23 /var/tmp/mplaylist-old /var/tmp/mplaylist > /var/tmp/mplaylist-removed
ADDED=$(comm -13 /var/tmp/mplaylist-old /var/tmp/mplaylist)
comm -13 /var/tmp/mplaylist-old /var/tmp/mplaylist > /var/tmp/mplaylist-added
datum=$(date +%Y%m%d-%H%M%S)
echo "::: $datum :::" >> $finallog
if [ "$REMOVED" != "" ]; then
# echo "removed files:" >> $finallog
# cat /var/tmp/mplaylist-removed
sed -is "s/^/- /" /var/tmp/mplaylist-removed
cat /var/tmp/mplaylist-removed >> $finallog
echo
fi
if [ "$ADDED" != "" ]; then
# echo "added files:" >> $finallog
# cat /var/tmp/mplaylist-added
sed -is "s/^/+ /" /var/tmp/mplaylist-added
cat /var/tmp/mplaylist-added >> $finallog
fi
mv -f /var/tmp/mplaylist /var/tmp/mplaylist-old
mpc playlist > /var/tmp/mplaylist
sort -o /var/tmp/mplaylist /var/tmp/mplaylist
Loading…
Cancel
Save