Works on old LWP::UserAgent
This commit is contained in:
parent
0e22becfb6
commit
3678b13055
|
@ -40,7 +40,11 @@ sub parse($$)
|
|||
|
||||
my $sax_handler;
|
||||
$sax_handler = ResultHandler->new($parsed) if ($mod eq "ResultHandler");
|
||||
return XML::LibXML->load_xml(string => shift) if ($mod eq "ProjectHandler");
|
||||
if ($mod eq "ProjectHandler")
|
||||
{
|
||||
use ACU::Project;
|
||||
$sax_handler = ProjectHandler->new($parsed);
|
||||
}
|
||||
$sax_handler = ProjectMemberHandler->new($parsed) if ($mod eq "ProjectMemberHandler");
|
||||
|
||||
my $parser = XML::SAX::ParserFactory->parser( Handler => $sax_handler );
|
||||
|
@ -71,7 +75,10 @@ sub get($$)
|
|||
my $url = shift;
|
||||
my $ua = LWP::UserAgent->new;
|
||||
|
||||
$ua->ssl_opts(SSL_ca_file => "/etc/ldap/cacert.pem");
|
||||
# Some old version of LWP::UserAgent doesn't support ssl_opts, this is not required
|
||||
eval {
|
||||
$ua->ssl_opts(SSL_ca_file => "/etc/ldap/cacert.pem");
|
||||
};
|
||||
|
||||
log(DEBUG, 'GET Request to ', API_URL, $url);
|
||||
my $req = GET API_URL . $url;
|
||||
|
@ -89,7 +96,10 @@ sub send($$$)
|
|||
my $url = shift;
|
||||
my $ua = LWP::UserAgent->new;
|
||||
|
||||
$ua->ssl_opts(SSL_ca_file => "/etc/ldap/cacert.pem");
|
||||
# Some old version of LWP::UserAgent doesn't support ssl_opts, this is not required
|
||||
eval {
|
||||
$ua->ssl_opts(SSL_ca_file => "/etc/ldap/cacert.pem");
|
||||
};
|
||||
|
||||
log(DEBUG, 'POST Request to ', API_URL, $url);
|
||||
my $req = POST API_URL . $url, shift;
|
||||
|
|
|
@ -21,7 +21,8 @@ my $bindsecret = "";
|
|||
|
||||
sub ldap_get_password
|
||||
{
|
||||
return Password::get_password "/home/intradmin/.secret_ldap";
|
||||
return Password::get_password "/home/2014/mercie_d/.secret_ldap";
|
||||
# return Password::get_password "/home/intradmin/.secret_ldap";
|
||||
}
|
||||
|
||||
our $secret_search = \&ldap_get_password;
|
||||
|
|
|
@ -21,7 +21,7 @@ sub get_students
|
|||
|
||||
if ($#ARGV == -1) {
|
||||
log(USAGE, "$0 format");
|
||||
say "format can be csv"
|
||||
say "format can be csv or login"
|
||||
}
|
||||
elsif ($ARGV[0] eq "csv")
|
||||
{
|
||||
|
@ -35,3 +35,9 @@ elsif ($ARGV[0] eq "csv")
|
|||
say ",Present";
|
||||
}
|
||||
}
|
||||
elsif ($ARGV[0] eq "login")
|
||||
{
|
||||
for my $student (get_students $ARGV[1]) {
|
||||
say $student->get_value("uid");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,6 +42,43 @@ if ($ref =~ m<^refs/tags/(.+)$>)
|
|||
}
|
||||
|
||||
log TRACE, $project;
|
||||
|
||||
# Extract lot of data
|
||||
my @rendus = grep {
|
||||
exists $_->{vcs} and $_->{vcs}{tag} eq $tag;
|
||||
} @{ $project->{submissions} };
|
||||
|
||||
my $date = $ENV{'GL_TS'};
|
||||
$date =~ s/\./ /;
|
||||
my $glts = ParseDate($date);
|
||||
|
||||
chomp (my $tokengiven = `git cat-file tag $newsha | sed -e '1,/^\$/d'`);
|
||||
for my $rendu (@rendus)
|
||||
{
|
||||
my $open = ParseDate($rendu->{period}{begin});
|
||||
my $close = ParseDate($rendu->{period}{end});
|
||||
|
||||
# TODO: check exceptions by login/group
|
||||
|
||||
if ((Date_Cmp($glts, $open) == -1))
|
||||
{
|
||||
print "[ACU] Tag not allowed: upload not yet opened!\n";
|
||||
exit(4);
|
||||
}
|
||||
|
||||
if ((Date_Cmp($glts, $close) == 1))
|
||||
{
|
||||
print "[ACU] Tag not allowed: upload closed!\n";
|
||||
exit(5);
|
||||
}
|
||||
|
||||
my $token = $rendu->{vcs}{token};
|
||||
if ($token ne "" and $token ne $tokengiven)
|
||||
{
|
||||
print "[ACU] Error 0x65cd58: Bad token.\n";
|
||||
exit(6);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
exit 1;
|
||||
|
|
Reference in New Issue