#! /bin/bash
# vim: tabstop=4 shiftwidth=4

PATH="/opt/omega/bin:$PATH"

base=.
lists=${base}/correo
dbdir=${base}/index
url=/correo


list-directories ()
{
	local item
	pushd "$1" &> /dev/null
	for item in * ; do
		[[ -d ${item} ]] && echo "${item}"
	done
	popd &> /dev/null
}


index-list ()
{
	if [ ! -d "${lists}/$1" ] ; then
		echo "list directory '${lists}/$1' does not exist" >&2
		exit 2
	fi
	echo "[1;32m *[0;0m index  [1;33m$1[0;0m/${2:-\*\*}"
	if [[ $# -eq 2 ]] ; then
		#omindex --db "${dbdir}/$1" --url "${url}/$1" -p "${lists}/$1" "$2"
		echo
	else
		#omindex --db "${dbdir}/$1" --url "${url}/$1" "${lists}/$1"
		echo
	fi
}


index-list-all ()
{
	local listname
	while read -r listname ; do
		index-list "${listname}"
		echo "flint ${dbdir}/${listname}" >&3
	done < <( list-directories "${lists}" ) \
		 > /dev/null 3> "${dbdir}/default-new-$$"
	mv "${dbdir}/default-new-$$" "${dbdir}/default"
}


if [[ $# -eq 0 ]] ; then
	# Index all lists, all years, all months
	index-list-all
elif [[ $# -eq 1 ]] ; then
	# Index a particular list
	index-list "$1"
elif [[ $# -eq 2 ]] ; then
	# Index a subdir
	index-list "$@"
else
	echo "usage: $0 [list | list/year | list/year/month]" >&2
	exit 1
fi

