This file is indexed.

/usr/share/perl5/AMC/Gui/Avancement.pm is in auto-multiple-choice-common 1.1.1-2.

This file is owned by root:root, with mode 0o644.

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
 96
 97
 98
 99
100
101
102
103
#
# Copyright (C) 2008 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/>.

package AMC::Gui::Avancement;

BEGIN {
    use Exporter   ();
    our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);

    # set the version for version checking
    $VERSION     = 0.1.1;

    @ISA         = qw(Exporter);
    @EXPORT      = qw();
    %EXPORT_TAGS = ( );     # eg: TAG => [ qw!name1 name2! ],

    # your exported package globals go here,
    # as well as any optionally exported functions
    @EXPORT_OK   = qw();
}

sub new {
    my ($entier,%o)=(@_);
    my $self={'entier'=>$entier,
	      'progres'=>0,
	      'debug'=>0,
	      'id'=>'',
	  };
 
    for (keys %o) {
	$self->{$_}=$o{$_} if(defined($self->{$_}));
    }

    bless $self;
    $|++ if($self->{'id'});
    return($self);
}

sub progres {
    my ($self,$suite)=(@_);
    $suite *=  $self->{'entier'};
    $self->{'progres'}+=$suite;
    if($self->{'progres'}>$self->{'entier'}) {
	$suite-=$self->{'progres'}-$self->{'entier'};
	$self->{'progres'}=$self->{'entier'};
    }
    print "===<".$self->{'id'}.">=+$suite\n" if($self->{'id'});
}

sub progres_abs {
    my ($self,$suite)=(@_);
    $self->progres($suite-$self->{'progres'});
}

sub fin {
    my ($self,$suite)=(@_);
    $self->progres_abs(1);
}   

sub etat {
    my ($self)=@_;
    return($self->{'progres'});
}

sub lit {
    my ($self,$s)=(@_);
    my $r='';
    if($s =~ /===<(.*)>=\+([0-9.]+)/) {
	my $id=$1;
	my $suite=$2;
	$self->{'progres'}+=$suite;

	if($self->{'progres'}<0) {
	    print STDERR "progres($self->{'id'})=$self->{'progres'}\n";
	    $self->{'progres'}=0;
	}
	if($self->{'progres'}>1) {
	    print STDERR "progres($self->{'id'})=$self->{'progres'}\n";
	    $self->{'progres'}=1;
	}

	$r=$self->{'progres'};
    }
    return($r);
}

1;