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;
|
||||
}
|
||||
|
||||
sub genIds ($)
|
||||
sub genIds ($;$)
|
||||
{
|
||||
my $self = shift;
|
||||
my $def_i = shift // 1;
|
||||
my @ids;
|
||||
|
||||
my $grp_i = 0;
|
||||
|
@ -136,7 +137,7 @@ sub genIds ($)
|
|||
if (! $group->{id} || grep { /^\Q$group->{id}\E$/ } @ids)
|
||||
{
|
||||
do {
|
||||
$cur_gid = "defg".$grp_i;
|
||||
$cur_gid = "def".$def_i."g".$grp_i;
|
||||
$grp_i += 1;
|
||||
} while (grep {$_ eq $cur_gid} @ids);
|
||||
$group->{id} = $cur_gid;
|
||||
|
|
|
@ -39,8 +39,10 @@ sub process
|
|||
# Create defenses groups
|
||||
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))
|
||||
{
|
||||
push @defenses, $sout;
|
||||
{
|
||||
my $sid;
|
||||
($sid = $sout) =~ s/\.xml$//;
|
||||
push @defenses, $sid;
|
||||
|
||||
open my $xml, "<", "$basedir/$year/$project_id/defenses/$sout" or die $!;
|
||||
binmode $xml;
|
||||
|
@ -52,8 +54,12 @@ sub process
|
|||
|
||||
my $ids = $defense->getIds();
|
||||
|
||||
$ids->{'def_end_$LOGIN'} = undef;
|
||||
$ids->{'def_end_group'} = undef;
|
||||
my @keys = keys %$ids;
|
||||
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);
|
||||
}
|
||||
|
@ -63,7 +69,7 @@ sub process
|
|||
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))
|
||||
{
|
||||
next if (! grep { $dir eq "defense_$_" } @defenses);
|
||||
next if (grep { $dir eq "defense_$_" } @defenses);
|
||||
|
||||
my $ids = {};
|
||||
|
||||
|
|
Reference in a new issue