/usr/lib/AMC/perl/AMC-association.pl is in auto-multiple-choice-common 1.3.0-2.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | #! /usr/bin/perl
#
# Copyright (C) 2008-2014 Alexis Bienvenue <paamc@passoire.fr>
#
# This file is part of Auto-Multiple-Choice
#
# Auto-Multiple-Choice is free software: you can redistribute it
# and/or modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# Auto-Multiple-Choice is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Auto-Multiple-Choice. If not, see
# <http://www.gnu.org/licenses/>.
use Getopt::Long;
use AMC::Basic;
my $cr_dir='';
my $liste='';
my $data_dir='';
my $list='';
my $set='';
my $student='';
my $copy=0;
my $id=undef;
my $raw='';
GetOptions("cr=s"=>\$cr_dir,
"liste=s"=>\$liste,
"data=s"=>\$data_dir,
"list!"=>\$list,
"raw!"=>\$raw,
"set!"=>\$set,
"student=s"=>\$student,
"copy=s"=>\$copy,
"id=s"=>\$id,
);
if($list) {
require AMC::Data;
my $data=AMC::Data->new($data_dir);
my $assoc=$data->module('association');
my $capture=$data->module('capture');
$data->begin_read_transaction('ALST');
my @list;
if($raw) {
@list=map { [$_->{student},$_->{copy}] } (@{$assoc->list()});
} else {
@list=$capture->student_copies();
}
print "Student\tID\n";
for my $c (@list) {
print studentids_string(@$c)."\t";
my $manual=$assoc->get_manual(@$c);
my $auto=$assoc->get_auto(@$c);
if(defined($manual)) {
print $manual;
print " (manual";
if(defined($auto)) {
print ", auto=".$auto;
}
print ")\n";
} elsif(defined($auto)) {
print $auto." (auto)\n";
} else {
print "(none)\n";
}
}
$data->end_transaction('ALST');
} elsif($set) {
require AMC::Data;
my $data=AMC::Data->new($data_dir);
my $assoc=$data->module('association');
$data->begin_transaction('ASET');
$assoc->set_manual($student,$copy,$id);
$data->end_transaction('ASET');
} else {
require AMC::Gui::Association;
my $g=AMC::Gui::Association::new('cr'=>$cr_dir,
'liste'=>$liste,
'data_dir'=>$data_dir,
'global'=>1,
);
Gtk2->main;
}
|