X-Git-Url: https://git.hcoop.net/clinton/abcde.git/blobdiff_plain/9f659adac68c1a038d7c112806aba0d56bccc741..f7d70f9cc043a976d63e909cf375f3b6ea70cbe5:/cddb-tool diff --git a/cddb-tool b/cddb-tool index 22a6fdd..4f44a89 100755 --- a/cddb-tool +++ b/cddb-tool @@ -2,7 +2,7 @@ # Copyright (C) 1999 Nathaniel Smith # Copyright (C) 1999, 2000, 2001 Robert Woodcock -# Copyright (C) 2003, 2004 Jesus Climent +# Copyright (C) 2003, 2005 Jesus Climent # This code is hereby licensed for public consumption under either the # GNU GPL v2 or greater, or Larry Wall's Artistic License - your choice. # @@ -21,7 +21,7 @@ # - Submitted via: line is created by template, when it really should be in send. # Oh well. -VERSION=0.4.5 +VERSION=0.4.7 NAME=cddb-tool #return codes @@ -36,6 +36,9 @@ if [ "$HTTPGET" = "" ]; then if [ X"$(uname)" = X"FreeBSD" ] ; then HTTPGET=fetch HTTPGETOPTS=${HTTPGETOPTS:="-q -o -"} + elif [ X"$(uname)" = X"NetBSD" ] ; then + HTTPGET=ftp + HTTPGETOPTS=${HTTPGETOPTS:="-q -o -"} elif [ X"$(uname)" = X"Darwin" ] ; then HTTPGET=curl HTTPGETOPTS=${HTTPGETOPTS:="-f -s"} @@ -119,10 +122,10 @@ parse) # takes 1 argument, a filename, and dumps out a sh parseable version set -e # names chosen to match usage in abcde code DISCID=$(grep ^DISCID= "$CDDBFILE" | cut -f2 -d= | tr -d \[:cntrl:\]) - DARTISTALBUM=$(grep ^DTITLE= "$CDDBFILE" | cut -f2- -d= | tr -d \\n | sed 's- / -~-g' | tr -d \[:cntrl:\]) - DARTIST=$(echo "$DARTISTALBUM" | cut -f1 -d~ | sed 's,\\,\\\\,g;s,\([\"\$\`]\),\\\1,g' | tr -d \[:cntrl:\]) - DALBUM=$(echo "$DARTISTALBUM" | cut -f2 -d~ | sed 's,\\,\\\\,g;s,\([\"\$\`]\),\\\1,g' | tr -d \[:cntrl:\]) - CDDBGENRE=$(grep '^#CATEGORY=' "$CDDBFILE" | cut -f2- -d=) + DARTISTALBUM="$(grep ^DTITLE= "$CDDBFILE" | cut -f2- -d= | tr -d \\n | sed 's- / -~-g' | tr -d \[:cntrl:\])" + DARTIST="$(echo "$DARTISTALBUM" | cut -f1 -d~ | sed 's,\\,\\\\,g;s,\([\"\$\`]\),\\\1,g' | tr -d \[:cntrl:\])" + DALBUM="$(echo "$DARTISTALBUM" | cut -f2 -d~ | sed 's,\\,\\\\,g;s,\([\"\$\`]\),\\\1,g' | tr -d \[:cntrl:\])" + CDDBGENRE="$(grep '^#CATEGORY=' "$CDDBFILE" | cut -f2- -d= | tr -d \[:cntrl:\])" if grep "^DYEAR" "$CDDBFILE" 2>&1 > /dev/null ; then CDYEAR=$(grep "^DYEAR" "$CDDBFILE" | cut -f2- -d= | tr -d \[:cntrl:\]) elif grep YEAR "$CDDBFILE" 2>&1 > /dev/null ; then @@ -192,7 +195,7 @@ send) # cddb-tool send filename email@address FILE="$1" ADDRESS="$2" DISCID=$(grep ^DISCID= "$FILE" | cut -f2 -d= | tr -d \[:cntrl:\]) - CDDBGENRE=$(grep '^#CATEGORY=' "$FILE" | cut -f2- -d=) + CDDBGENRE=$(grep '^#CATEGORY=' "$FILE" | cut -f2- -d= | tr -d \[:cntrl:\]) grep -v "^#CATEGORY=" "$FILE" | mail -s "cddb $CDDBGENRE $DISCID" "$ADDRESS" ;; @@ -206,7 +209,7 @@ query) # cddb-tool query serverurl proto user host discid... TRACKINFO="$@" TRACKINFOPLUS=$(echo $TRACKINFO | tr ' ' '+') RESULTS=$($HTTPGET "$SERVER?cmd=cddb+query+$TRACKINFOPLUS\&hello=$HELLOINFO\&proto=$PROTO") || exit $LOOKUP_ERR - echo $RESULTS | tr '\r' '\n' | tr -s '\n' | sed 's/^ //g' + echo "$RESULTS" | tr '\r' '\n' | tr -s '\n' | sed 's/^ //g' ;; read) # cddb-tool read serverurl proto user host genre discnumber