#!/bin/bash

set -eu

directory=""
year=""

function usage
{
    retval="$1"
    case "$retval" in
        0)
            ;;
        *)
            exec 1>&2
            ;;
    esac
    echo "$0: --directory /dir/ect/ory --year 2017"
    exit "$retval"
}

while [ "$#" -ge 1 ]
do
    case "$1" in
        --directory)
            directory="$2"
            shift
            ;;
        --year)
            year="$2"
            shift
            ;;
        --help|-h)
            usage 0
            ;;
        *)
            echo "$0: unrecognized option: $1" 1>&2
            usage 1
            ;;
    esac
    shift
done

if [ "$directory" = "" ]
then
    echo "$0: --directory is a required option" 1>&2
    usage 1
fi

if [ "$year" = "" ]
then
    echo "$0: --year is a required option" 1>&2
    usage 1
fi

if ! [ -d "$directory" ]
then
    echo "$0: $directory does not exist" 1>&2
    usage 1
fi

case "$year" in
    [0-9][0-9][0-9][0-9]) ;;
    [0-9][0-9][0-9][0-9][a-z]) ;;
    *)
        echo "$0: --year must be 4 decimal digits or a year with a single-character suffix" 1>&2
        usage 1
        ;;
esac

mv "$directory" "$year-$directory"

mp3-album-year --year "$year" --files "$year-$directory"/*