#!/bin/sh

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

. alterator-sh-functions

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

print_groups()
{
    local IFS='	'
    while read name required lists conflicts label parent depends; do
	name="${name##*/}"
	name="${name%%.directory}"
	write_table_item \
	     name "$name" \
	     parent "$parent" \
	     label "$label" \
	     required "$required" \
	     depends "$depends" \
	     lists "$(print_notfound "$lists")" \
	     conflicts "$(print_notfound "$conflicts")"
    done
}

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

on_message()
{
	case "$in_action" in
	    list)
		list_groups
		;;
	esac
}

message_loop
