& /htmlheader &>
Sort simulations
% if ($sort_by eq 'a') {
alphabetically | by time | by user
% } elsif ($sort_by eq 'u') {
alphabetically | by time | by user
% } else {
alphabetically | by time | by user
% }
% foreach my $instance (@sorted_instances) {
|
<& instcard, info => $dbinfo{$instance} &>
|
% }
<& /htmlfooter &>
<%args>
$show_all => 0
$sort_by => 't'
%args>
<%init>
use File::Slurp;
my %dbinfo;
my @databases = grep /psmops/, `echo 'show databases' | /usr/bin/mysql -umops -pmops -h mops00`;
#my @databases = grep /psmops/, `echo 'show databases' | mysql -umops -pmops -h localhost`;
my $home; # database's $MOPS_HOME
foreach my $dbname (@databases) {
my $desc;
my $descfile;
my $verfile;
$dbname =~ s/\W+//g; # strip | and whitespace
$home = '/usr/local/MOPS_DEV';
$descfile = "$home/var/$dbname/config/description";
$verfile = "$home/var/$dbname/config/version";
if ($show_all or -e "$home/var/$dbname/config/version") {
# Better version check here eventually.
if (-e $descfile) {
$desc = read_file($descfile);
}
if (-e $verfile) {
my @st = stat($verfile);
my $modified = scalar(localtime($st[9]));
my $owner = getpwuid($st[4]);
my ($version) = grep !/^#/, read_file($verfile);
chomp $version;
if ($version >= 200606) {
$dbinfo{$dbname} = {
name => $dbname,
# desc => ($desc or 'N/A') . " ($version)",
desc => ($desc or 'N/A'),
version => $version,
timestamp => (-M $verfile),
modified => $modified,
owner => $owner,
};
}
}
}
}
my @sorted_instances;
if ($sort_by eq 'a') {
@sorted_instances = sort { $a cmp $b } keys %dbinfo;
}
elsif ($sort_by eq 'u') {
@sorted_instances = sort { $dbinfo{$a}->{owner} cmp $dbinfo{$b}->{owner} } keys %dbinfo;
}
else {
@sorted_instances = sort { $dbinfo{$a}->{timestamp} <=> $dbinfo{$b}->{timestamp} } keys %dbinfo;
}
%init>