From 15790db5772e344a3278cc4f3047e406062cc452 Mon Sep 17 00:00:00 2001 From: Mercier Pierre-Olivier Date: Fri, 18 Oct 2013 04:54:28 +0200 Subject: [PATCH] intradata_get: croak instead of log+return --- process/files/intradata_get.pl | 97 +++++++++++----------------------- 1 file changed, 31 insertions(+), 66 deletions(-) diff --git a/process/files/intradata_get.pl b/process/files/intradata_get.pl index b3a9039..b095300 100644 --- a/process/files/intradata_get.pl +++ b/process/files/intradata_get.pl @@ -39,16 +39,11 @@ sub create_tree($$) my $year = shift; my $project_id = shift; - 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."; - } + croak "No directory for year $year. Ask a root to create it." if (! -d "$basedir/$year/"); if (! -e "$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 $year = $args->{param}{year} // LDAP::get_year; - if (! $project_id) { - log ERROR, "No project_id given."; - return "No project_id given"; - } + croak "No project_id given." if (! $project_id); if (! -e "$basedir/$year/$project_id/grades/") { mkdir "$basedir/$year/$project_id/grades/"; @@ -105,10 +97,7 @@ sub grades_generate if (exists $args->{files}{"grading.xml"}) { $grading = $args->{files}{"grading.xml"}; } - if (! $grading) { - log ERROR, "Invalid grading.xml received!"; - return "Invalid grading.xml received!"; - } + croak "Invalid grading.xml received!" if (! $grading); $grading = Grading->new($grading); @@ -146,7 +135,7 @@ sub grades_generate $grading->reset(); } - return "Ok"; + return 1; } sub grades_new_bonus @@ -157,10 +146,7 @@ sub grades_new_bonus my $delete = $args->{param}{delete}; my $year = $args->{param}{year} // LDAP::get_year; - if (! $project_id) { - log ERROR, "No project_id given."; - return "No project_id given"; - } + croak "No project_id given" if (! $project_id); if (! -e "$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 @@ -250,26 +236,17 @@ sub update_defense my $project_id = $args->{param}{id}; my $year = $args->{param}{year} // LDAP::get_year; - if (! $project_id) { - log ERROR, "No project_id given."; - return "No project_id given"; - } + croak "No project_id given" if (! $project_id); my $defense_id = $args->{param}{defense_id}; - if (! $defense_id) { - log ERROR, "No defense_id given."; - return "No defense_id given"; - } + croak "No defense_id given" if (! $defense_id); my $defense; if (exists $args->{files}{"$defense_id.xml"}) { $defense = $args->{files}{"$defense_id.xml"}; } - if (! $defense) { - log ERROR, "Invalid $defense_id.xml received!"; - return "Invalid $defense_id.xml received!"; - } + croak "Invalid $defense_id.xml received!" if (! $defense); log INFO, "Update $year/$project_id/defenses/$defense_id.xml"; @@ -290,7 +267,7 @@ sub update_defense print $out $defense; close $out; - return "Ok"; + return 1; } sub update_project @@ -300,29 +277,23 @@ sub update_project my $project_id = $args->{param}{id}; my $year = $args->{param}{year} // LDAP::get_year; - if (! $project_id) { - log ERROR, "No project_id given."; - return "No project_id given"; - } + croak "No project_id given" if (! $project_id); my $butler; if (exists $args->{files}{"butler.xml"}) { $butler = $args->{files}{"butler.xml"}; } - if (! $butler) { - log ERROR, "Invalid butler.xml received!"; - return "Invalid butler.xml received!"; - } + croak "Invalid butler.xml received!" if (! $butler); 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"; print $out $butler; close $out; - return "Ok"; + return 1; } sub update_trace @@ -332,33 +303,21 @@ sub update_trace my $project_id = $args->{param}{id}; my $year = $args->{param}{year} // LDAP::get_year; - if (! $project_id) { - log ERROR, "No project_id given."; - return "No project_id given"; - } + croak "No project_id given" if (! $project_id); my $rendu_id = $args->{param}{rendu}; - if (! $rendu_id) { - log ERROR, "No rendu_id given."; - return "No rendu_id given"; - } + croak "No rendu_id given" if (! $rendu_id); my $login = $args->{param}{login}; - if (! $login) { - log ERROR, "No login given."; - return "No login given"; - } + croak "No login given" if (! $login); my $trace; if (exists $args->{files}{"$login.xml"}) { $trace = $args->{files}{"$login.xml"}; } - if (! $trace) { - log ERROR, "Invalid $login.xml received!"; - return "Invalid $login.xml received!"; - } + croak "Invalid $login.xml received!" if (! $trace); 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/"; } - 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; close $out; - return "Ok"; + return 1; } sub delete_project @@ -390,12 +349,18 @@ sub process_get my $type = $args->{param}{type}; my $action = $args->{param}{action} // "update"; - if (! exists $actions{$type}{$action}) { - log WARN, "Unknown action '$action' for $type."; - return "Unknown action '$action' for $type."; - } + croak "Unknown action '$action' for $type." if (! exists $actions{$type}{$action}); + + 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);