#!/bin/sh
#
# Combine metadata files to new one file per instrument source format.
#

# Only run once
[ -n "${POST_UPGRADE_CACHE}" ] && touch "${POST_UPGRADE_CACHE}/`basename $0`"


done_banner=n

do_banner() {
    if [ "$done_banner" == "n" ]
    then
	echo " * Migrating metadata in $(pwd)"
	done_banner=y
    fi
}


# Process a single file
# Attaempt to rename to the new shared name.
# If this already exists the most recent file (latest edit) wins.

do_file() {
    local src="$1"
    local dst

    dst=$(gdi-metadata-get -D . "$src" _FNAME_ )

    if [ "$dst" == "$src" ]
    then
	return
    fi

    do_banner
    if [ -f "$dst" ]
    then
	if [ "$src" -nt "$dst" ]
	then
	    mv -f "$src" "$dst"
	else
	    rm -f "$src"
	fi
    else
	mv "$src" "$dst"
    fi
}


for MDIR in /etc/gdi-base/metadata.*
do
    [ -d "${MDIR}" ] || continue
    
    cd "${MDIR}"
    done_banner=n

    for f in *
    do
        if [ -f "$f" ]
        then
	    if [ "${f/#/}" == "${f}" ]
	    then
		do_file "$f"
	    fi
        fi
    done
done
