-
Notifications
You must be signed in to change notification settings - Fork 0
/
univ.pm
94 lines (78 loc) · 1.27 KB
/
univ.pm
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
package Univ;
my %UNIVS;
sub new {
my ($class, $id, $ftpRep, $path, $filePrefix, $zipFilePrefix) = @_;
unless ($zipFilePrefix) {
$zipFilePrefix = $filePrefix;
}
my $self = {
id => $id,
ftpRep => $ftpRep,
path => $path,
zipPrefix => $zipFilePrefix,
filePrefix => $filePrefix,
sepChar => ','
};
if ($id eq "orleans") {
$self->{filtreEtap} =
sub {
return map({ s/^(\S{3})\S/\1I/; $_; } @_);
} ;
}
$UNIVS{$id} = $self;
return bless $self, $class;
}
sub id {
my $self = shift;
return $self->{id};
}
sub path {
my $self = shift;
if (@_ > 0) {
$self->{path} = shift;
}
return $self->{path} ;
}
sub lastPath {
my $self = shift;
if (@_ > 0) {
$self->{lastPath} = shift;
}
return $self->{lastPath} ;
}
sub ftpRep {
my $self = shift;
if (@_ > 0) {
$self->{ftpRep} = shift;
}
return $self->{ftpRep} ;
}
sub prefix {
my $self = shift;
if (@_ > 0) {
$self->{filePrefix} = shift;
}
return $self->{filePrefix} ;
}
sub zipPrefix {
my $self = shift;
if (@_ > 0) {
$self->{zipPrefix} = shift;
}
return $self->{zipPrefix} ;
}
sub all {
return values %UNIVS;
}
sub getById {
my $class = shift;
return $UNIVS{shift()};
}
sub sepChar {
my $self = shift;
if (@_ > 0) {
$self->{sepChar} = shift;
}
return $self->{sepChar} ;
}
1;