]> mj.ucw.cz Git - bex.git/commitdiff
bls: Added a new utility for listing known machines and group
authorMartin Mares <mj@ucw.cz>
Mon, 21 Nov 2011 22:31:58 +0000 (23:31 +0100)
committerMartin Mares <mj@ucw.cz>
Mon, 21 Nov 2011 22:31:58 +0000 (23:31 +0100)
bls [new file with mode: 0755]

diff --git a/bls b/bls
new file mode 100755 (executable)
index 0000000..be558d3
--- /dev/null
+++ b/bls
@@ -0,0 +1,44 @@
+#!/usr/bin/perl
+# Batch EXecutor 2.0 -- List Machines and Groups
+# (c) 2011 Martin Mares <mj@ucw.cz>
+
+use strict;
+use warnings;
+use Getopt::Long;
+
+use lib 'lib';
+use BEX;
+
+my $edit;
+my $queue_name;
+
+GetOptions(
+) && @ARGV == 0 or die <<AMEN ;
+Usage: bjob [<options>]
+
+Options:
+None defined so far.
+AMEN
+
+my $machines = \%BEX::Config::machines;
+
+print "# Hosts:\n";
+for my $h (sort keys %$machines) {
+       my $m = $machines->{$h};
+       ref $m eq 'HASH' or next;
+       print "$h\n";
+}
+
+print "\n# Groups:\n";
+for my $h (sort keys %$machines) {
+       my $m = $machines->{$h};
+       ref $m eq 'ARRAY' or next;
+       print "$h = ", join(" ",
+               map {
+                       my $x = $machines->{$_};
+                       !defined($x) ? "$_?" :
+                       ref $x eq 'HASH' ? $_ :
+                       ref $x eq 'ARRAY' ? "\@$_" :
+                       "$_???"
+               } @$m), "\n";
+}