#!/usr/bin/perl

use strict;
use warnings;
use Getopt::Long qw(:config no_ignore_case);
use Text::ASCIITable;
use Perun::Agent;
use Perun::Common qw(printMessage getSortingFunction printTable);
#use Data::Dumper;

sub help {
	return qq{
	Lists Facilities where host is assigned.
	--------------------------
	Available options:
	--hostname     | -H hostname
	--orderByName  | -n order by name
	--batch        | -b batch
	--help         | -h prints this help
	};
}

my ($hostname, $batch, $sortingFunction);

GetOptions ("help|h"   => sub {
		print help();
		exit 0;
	},
	"batch|b"          => \$batch,
	"orderByName|n"    => sub { $sortingFunction = getSortingFunction("getName", 1) },
	"hostname|H=s"   => \$hostname
) or die help();

# Check options
unless (defined $hostname) { die "ERROR: hostname is required \n";}
unless (defined $sortingFunction) { $sortingFunction = getSortingFunction("getName", 1); }

my $agent = Perun::Agent->new();
my $facilitiesAgent = $agent->getFacilitiesAgent;

my @facilities;
@facilities = $facilitiesAgent->getFacilitiesByHostName( hostname => $hostname );
unless (@facilities) {
	printMessage "No facilities found for $hostname", $batch;
} else {
	#output
	printTable($sortingFunction, @facilities);
}	

