Generate defense ids for multiple defense
This commit is contained in:
parent
3ec51c56fc
commit
899fd189f5
2 changed files with 14 additions and 7 deletions
|
|
@ -124,9 +124,10 @@ sub getIds ($)
|
||||||
return \%ids;
|
return \%ids;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub genIds ($)
|
sub genIds ($;$)
|
||||||
{
|
{
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
my $def_i = shift // 1;
|
||||||
my @ids;
|
my @ids;
|
||||||
|
|
||||||
my $grp_i = 0;
|
my $grp_i = 0;
|
||||||
|
|
@ -136,7 +137,7 @@ sub genIds ($)
|
||||||
if (! $group->{id} || grep { /^\Q$group->{id}\E$/ } @ids)
|
if (! $group->{id} || grep { /^\Q$group->{id}\E$/ } @ids)
|
||||||
{
|
{
|
||||||
do {
|
do {
|
||||||
$cur_gid = "defg".$grp_i;
|
$cur_gid = "def".$def_i."g".$grp_i;
|
||||||
$grp_i += 1;
|
$grp_i += 1;
|
||||||
} while (grep {$_ eq $cur_gid} @ids);
|
} while (grep {$_ eq $cur_gid} @ids);
|
||||||
$group->{id} = $cur_gid;
|
$group->{id} = $cur_gid;
|
||||||
|
|
|
||||||
|
|
@ -39,8 +39,10 @@ sub process
|
||||||
# Create defenses groups
|
# Create defenses groups
|
||||||
opendir(my $dh, "$basedir/$year/$project_id/defenses/") or croak "can't opendir $basedir/$year/$project_id/defenses/: $!";
|
opendir(my $dh, "$basedir/$year/$project_id/defenses/") or croak "can't opendir $basedir/$year/$project_id/defenses/: $!";
|
||||||
for my $sout (grep { ( ! /^\./ ) && -f "$basedir/$year/$project_id/defenses/$_" } readdir($dh))
|
for my $sout (grep { ( ! /^\./ ) && -f "$basedir/$year/$project_id/defenses/$_" } readdir($dh))
|
||||||
{
|
{
|
||||||
push @defenses, $sout;
|
my $sid;
|
||||||
|
($sid = $sout) =~ s/\.xml$//;
|
||||||
|
push @defenses, $sid;
|
||||||
|
|
||||||
open my $xml, "<", "$basedir/$year/$project_id/defenses/$sout" or die $!;
|
open my $xml, "<", "$basedir/$year/$project_id/defenses/$sout" or die $!;
|
||||||
binmode $xml;
|
binmode $xml;
|
||||||
|
|
@ -52,8 +54,12 @@ sub process
|
||||||
|
|
||||||
my $ids = $defense->getIds();
|
my $ids = $defense->getIds();
|
||||||
|
|
||||||
$ids->{'def_end_$LOGIN'} = undef;
|
my @keys = keys %$ids;
|
||||||
$ids->{'def_end_group'} = undef;
|
my $def_i = $keys[0];
|
||||||
|
$def_i =~ s/^(.+)g.*$/\1/;
|
||||||
|
|
||||||
|
$ids->{$def_i.'_end_$LOGIN'} = undef;
|
||||||
|
$ids->{$def_i.'_end_group'} = undef;
|
||||||
|
|
||||||
$grade->create_from_ids($sout, $ids);
|
$grade->create_from_ids($sout, $ids);
|
||||||
}
|
}
|
||||||
|
|
@ -63,7 +69,7 @@ sub process
|
||||||
opendir($dh, "$basedir/$year/$project_id/traces/") or croak "can't opendir $basedir/$year/$project_id/traces/: $!";
|
opendir($dh, "$basedir/$year/$project_id/traces/") or croak "can't opendir $basedir/$year/$project_id/traces/: $!";
|
||||||
for my $dir (grep { ( ! /^\./ ) && -d "$basedir/$year/$project_id/traces/$_" } readdir($dh))
|
for my $dir (grep { ( ! /^\./ ) && -d "$basedir/$year/$project_id/traces/$_" } readdir($dh))
|
||||||
{
|
{
|
||||||
next if (! grep { $dir eq "defense_$_" } @defenses);
|
next if (grep { $dir eq "defense_$_" } @defenses);
|
||||||
|
|
||||||
my $ids = {};
|
my $ids = {};
|
||||||
|
|
||||||
|
|
|
||||||
Reference in a new issue