From c8fd994fd6db28ea71d5e91beed39a84c4d0c329 Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Wed, 15 Feb 2012 23:46:59 +0100 Subject: [PATCH] `bex queue' has its own subcommands --- lib/bin/queue | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/lib/bin/queue b/lib/bin/queue index 2fb46fa..170ba50 100755 --- a/lib/bin/queue +++ b/lib/bin/queue @@ -11,23 +11,35 @@ my $init; GetOptions( "init!" => \$init, -) && @ARGV == 1 or die <] +) && @ARGV or die <] + +Subcommands: +init Create a new queue +ls List all queues Options: ---init Create a new queue +None defined so far. AMEN -my $queue_name = shift @ARGV; +my $op = shift @ARGV; -if ($init) { +if ($op eq 'init') { + my $queue_name = shift @ARGV or die "bex queue init requires a queue name\n"; my $path = $BEX::Config::home . '/' . $queue_name; -d $path and die "Queue directory $path already exists\n"; mkdir $path; mkdir "$path/hosts"; mkdir "$path/jobs"; print "Queue $queue_name initialized.\n"; +} elsif ($op eq 'ls' && @ARGV == 0) { + opendir D, $BEX::Config::home or die "Cannot read BEX home directory\n"; + for my $q (sort readdir D) { + if (-d $q && -d "$q/hosts" && -d "$q/jobs") { + print "$q\n"; + } + } + closedir D; } else { - my $queue = BEX::Queue->new($queue_name); - print "Queue $queue is OK\n"; + die "Invalid subcommand\n"; } -- 2.39.2