#!/bin/sh

profile_dir="/var/lib/install3/"
groups_dir="$profile_dir/groups"

. alterator-sh-functions

print_required()
{
    if [ "$1" = "yes" ];then
	echo "#t"
    else
	echo "#f"
    fi
}

print_notfound()
{
    if [ "$1" = "notfound" ];then
	echo ""
    else
	echo "$1"
    fi
}

print_groups()
{
    local IFS='	'
    while read id required lists conflicts name; do
	id="${id##*/}"
	id="${id%%.directory}"
	printf '("%s" required %s lists "%s" conflicts "%s" label "%s")\n' \
	    "$id" \
	    "$(print_required "$required")" \
	    "$(print_notfound "$lists")" \
	    "$(print_notfound "$conflicts")" \
	    "$name"
    done
}

list_groups()
{
    [ ! -d "$groups_dir" ] ||
	find "$groups_dir" -type f -name "*.directory"|
	    xargs alterator-dump-desktop \
		-v lang="$in_language" \
		-v out="Filename;X-Alterator-Required;X-Alterator-PackageList;X-Alterator-Conflicts;Name" \
		-v def="notfound;no;notfound;notfound;" |
	    print_groups
}

on_message()
{
	case "$in_action" in
	    list)
		echo '('
		list_groups
		echo ')'
		;;
	    *)
		echo '#f'
		;;
	esac
}

message_loop
