intradata_get: croak instead of log+return
This commit is contained in:
parent
adb450343f
commit
15790db577
1 changed files with 31 additions and 66 deletions
|
@ -39,16 +39,11 @@ sub create_tree($$)
|
||||||
my $year = shift;
|
my $year = shift;
|
||||||
my $project_id = shift;
|
my $project_id = shift;
|
||||||
|
|
||||||
if (! -d "$basedir/$year/") {
|
croak "No directory for year $year. Ask a root to create it." if (! -d "$basedir/$year/");
|
||||||
log ERROR, "No directory for year $year. Ask a root to create it.";
|
|
||||||
return "No directory for year $year. Ask a root to create it.";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (! -e "$basedir/$year/$project_id/") {
|
if (! -e "$basedir/$year/$project_id/") {
|
||||||
mkdir "$basedir/$year/$project_id/";
|
mkdir "$basedir/$year/$project_id/";
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -59,10 +54,7 @@ sub grades_generate
|
||||||
my $project_id = $args->{param}{id};
|
my $project_id = $args->{param}{id};
|
||||||
my $year = $args->{param}{year} // LDAP::get_year;
|
my $year = $args->{param}{year} // LDAP::get_year;
|
||||||
|
|
||||||
if (! $project_id) {
|
croak "No project_id given." if (! $project_id);
|
||||||
log ERROR, "No project_id given.";
|
|
||||||
return "No project_id given";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (! -e "$basedir/$year/$project_id/grades/") {
|
if (! -e "$basedir/$year/$project_id/grades/") {
|
||||||
mkdir "$basedir/$year/$project_id/grades/";
|
mkdir "$basedir/$year/$project_id/grades/";
|
||||||
|
@ -105,10 +97,7 @@ sub grades_generate
|
||||||
if (exists $args->{files}{"grading.xml"}) {
|
if (exists $args->{files}{"grading.xml"}) {
|
||||||
$grading = $args->{files}{"grading.xml"};
|
$grading = $args->{files}{"grading.xml"};
|
||||||
}
|
}
|
||||||
if (! $grading) {
|
croak "Invalid grading.xml received!" if (! $grading);
|
||||||
log ERROR, "Invalid grading.xml received!";
|
|
||||||
return "Invalid grading.xml received!";
|
|
||||||
}
|
|
||||||
|
|
||||||
$grading = Grading->new($grading);
|
$grading = Grading->new($grading);
|
||||||
|
|
||||||
|
@ -146,7 +135,7 @@ sub grades_generate
|
||||||
$grading->reset();
|
$grading->reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
return "Ok";
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub grades_new_bonus
|
sub grades_new_bonus
|
||||||
|
@ -157,10 +146,7 @@ sub grades_new_bonus
|
||||||
my $delete = $args->{param}{delete};
|
my $delete = $args->{param}{delete};
|
||||||
my $year = $args->{param}{year} // LDAP::get_year;
|
my $year = $args->{param}{year} // LDAP::get_year;
|
||||||
|
|
||||||
if (! $project_id) {
|
croak "No project_id given" if (! $project_id);
|
||||||
log ERROR, "No project_id given.";
|
|
||||||
return "No project_id given";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (! -e "$basedir/$year/$project_id/traces/") {
|
if (! -e "$basedir/$year/$project_id/traces/") {
|
||||||
mkdir "$basedir/$year/$project_id/traces/";
|
mkdir "$basedir/$year/$project_id/traces/";
|
||||||
|
@ -240,7 +226,7 @@ sub grades_new_bonus
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return "Ok";
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub update_defense
|
sub update_defense
|
||||||
|
@ -250,26 +236,17 @@ sub update_defense
|
||||||
my $project_id = $args->{param}{id};
|
my $project_id = $args->{param}{id};
|
||||||
my $year = $args->{param}{year} // LDAP::get_year;
|
my $year = $args->{param}{year} // LDAP::get_year;
|
||||||
|
|
||||||
if (! $project_id) {
|
croak "No project_id given" if (! $project_id);
|
||||||
log ERROR, "No project_id given.";
|
|
||||||
return "No project_id given";
|
|
||||||
}
|
|
||||||
|
|
||||||
my $defense_id = $args->{param}{defense_id};
|
my $defense_id = $args->{param}{defense_id};
|
||||||
|
|
||||||
if (! $defense_id) {
|
croak "No defense_id given" if (! $defense_id);
|
||||||
log ERROR, "No defense_id given.";
|
|
||||||
return "No defense_id given";
|
|
||||||
}
|
|
||||||
|
|
||||||
my $defense;
|
my $defense;
|
||||||
if (exists $args->{files}{"$defense_id.xml"}) {
|
if (exists $args->{files}{"$defense_id.xml"}) {
|
||||||
$defense = $args->{files}{"$defense_id.xml"};
|
$defense = $args->{files}{"$defense_id.xml"};
|
||||||
}
|
}
|
||||||
if (! $defense) {
|
croak "Invalid $defense_id.xml received!" if (! $defense);
|
||||||
log ERROR, "Invalid $defense_id.xml received!";
|
|
||||||
return "Invalid $defense_id.xml received!";
|
|
||||||
}
|
|
||||||
|
|
||||||
log INFO, "Update $year/$project_id/defenses/$defense_id.xml";
|
log INFO, "Update $year/$project_id/defenses/$defense_id.xml";
|
||||||
|
|
||||||
|
@ -290,7 +267,7 @@ sub update_defense
|
||||||
print $out $defense;
|
print $out $defense;
|
||||||
close $out;
|
close $out;
|
||||||
|
|
||||||
return "Ok";
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub update_project
|
sub update_project
|
||||||
|
@ -300,29 +277,23 @@ sub update_project
|
||||||
my $project_id = $args->{param}{id};
|
my $project_id = $args->{param}{id};
|
||||||
my $year = $args->{param}{year} // LDAP::get_year;
|
my $year = $args->{param}{year} // LDAP::get_year;
|
||||||
|
|
||||||
if (! $project_id) {
|
croak "No project_id given" if (! $project_id);
|
||||||
log ERROR, "No project_id given.";
|
|
||||||
return "No project_id given";
|
|
||||||
}
|
|
||||||
|
|
||||||
my $butler;
|
my $butler;
|
||||||
if (exists $args->{files}{"butler.xml"}) {
|
if (exists $args->{files}{"butler.xml"}) {
|
||||||
$butler = $args->{files}{"butler.xml"};
|
$butler = $args->{files}{"butler.xml"};
|
||||||
}
|
}
|
||||||
if (! $butler) {
|
croak "Invalid butler.xml received!" if (! $butler);
|
||||||
log ERROR, "Invalid butler.xml received!";
|
|
||||||
return "Invalid butler.xml received!";
|
|
||||||
}
|
|
||||||
|
|
||||||
log INFO, "Update $year/$project_id/butler.xml";
|
log INFO, "Update $year/$project_id/butler.xml";
|
||||||
|
|
||||||
return $_ if (create_tree($year, $project_id));
|
create_tree($year, $project_id);
|
||||||
|
|
||||||
open my $out, ">", "$basedir/$year/$project_id/butler.xml";
|
open my $out, ">", "$basedir/$year/$project_id/butler.xml";
|
||||||
print $out $butler;
|
print $out $butler;
|
||||||
close $out;
|
close $out;
|
||||||
|
|
||||||
return "Ok";
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub update_trace
|
sub update_trace
|
||||||
|
@ -332,33 +303,21 @@ sub update_trace
|
||||||
my $project_id = $args->{param}{id};
|
my $project_id = $args->{param}{id};
|
||||||
my $year = $args->{param}{year} // LDAP::get_year;
|
my $year = $args->{param}{year} // LDAP::get_year;
|
||||||
|
|
||||||
if (! $project_id) {
|
croak "No project_id given" if (! $project_id);
|
||||||
log ERROR, "No project_id given.";
|
|
||||||
return "No project_id given";
|
|
||||||
}
|
|
||||||
|
|
||||||
my $rendu_id = $args->{param}{rendu};
|
my $rendu_id = $args->{param}{rendu};
|
||||||
|
|
||||||
if (! $rendu_id) {
|
croak "No rendu_id given" if (! $rendu_id);
|
||||||
log ERROR, "No rendu_id given.";
|
|
||||||
return "No rendu_id given";
|
|
||||||
}
|
|
||||||
|
|
||||||
my $login = $args->{param}{login};
|
my $login = $args->{param}{login};
|
||||||
|
|
||||||
if (! $login) {
|
croak "No login given" if (! $login);
|
||||||
log ERROR, "No login given.";
|
|
||||||
return "No login given";
|
|
||||||
}
|
|
||||||
|
|
||||||
my $trace;
|
my $trace;
|
||||||
if (exists $args->{files}{"$login.xml"}) {
|
if (exists $args->{files}{"$login.xml"}) {
|
||||||
$trace = $args->{files}{"$login.xml"};
|
$trace = $args->{files}{"$login.xml"};
|
||||||
}
|
}
|
||||||
if (! $trace) {
|
croak "Invalid $login.xml received!" if (! $trace);
|
||||||
log ERROR, "Invalid $login.xml received!";
|
|
||||||
return "Invalid $login.xml received!";
|
|
||||||
}
|
|
||||||
|
|
||||||
log INFO, "Update $year/$project_id/traces/$rendu_id/$login.xml";
|
log INFO, "Update $year/$project_id/traces/$rendu_id/$login.xml";
|
||||||
|
|
||||||
|
@ -370,11 +329,11 @@ sub update_trace
|
||||||
chmod 0755, "$basedir/$year/$project_id/traces/$rendu_id/";
|
chmod 0755, "$basedir/$year/$project_id/traces/$rendu_id/";
|
||||||
}
|
}
|
||||||
|
|
||||||
open my $out, ">", "$basedir/$year/$project_id/traces/$rendu_id/$login.xml";
|
open my $out, ">", "$basedir/$year/$project_id/traces/$rendu_id/$login.xml" or croak("");
|
||||||
print $out $trace;
|
print $out $trace;
|
||||||
close $out;
|
close $out;
|
||||||
|
|
||||||
return "Ok";
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub delete_project
|
sub delete_project
|
||||||
|
@ -390,12 +349,18 @@ sub process_get
|
||||||
my $type = $args->{param}{type};
|
my $type = $args->{param}{type};
|
||||||
my $action = $args->{param}{action} // "update";
|
my $action = $args->{param}{action} // "update";
|
||||||
|
|
||||||
if (! exists $actions{$type}{$action}) {
|
croak "Unknown action '$action' for $type." if (! exists $actions{$type}{$action});
|
||||||
log WARN, "Unknown action '$action' for $type.";
|
|
||||||
return "Unknown action '$action' for $type.";
|
eval {
|
||||||
}
|
$actions{$type}{$action}($args);
|
||||||
|
};
|
||||||
|
if ($@) {
|
||||||
|
my $err = $@;
|
||||||
|
log ERROR, $err;
|
||||||
|
return $err;
|
||||||
|
}
|
||||||
|
return "Ok";
|
||||||
|
|
||||||
return $actions{$type}{$action}($args);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Process::register("intradata_get", \&process_get);
|
Process::register("intradata_get", \&process_get);
|
||||||
|
|
Reference in a new issue