Bartender.pm 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package Bartender;
  2. use Dancer2;
  3. use Data::Dumper;
  4. use POSIX ();
  5. our $VERSION = '0.1';
  6. get '/shake' => sub {
  7. my %param = params;
  8. my $opt_dossier = $param{dossier};
  9. my $opt_base = $param{projetPadPrincipal};
  10. my $opt_garde = $param{projetPadGarde};
  11. my $opt_projet = $param{projetId};
  12. system("/home/sniperovitch/cocktail/cocktail -d $opt_dossier -b '$opt_base' -g '$opt_garde' -p $opt_projet &");
  13. redirect request->referer;
  14. };
  15. get '/status' => sub {
  16. my %param = params;
  17. my $opt_dossier = $param{dossier};
  18. my $opt_projet = $param{projetId};
  19. my $compilation_status;
  20. if(-e "/tmp/exegetes/$opt_dossier/$opt_projet.lock") {
  21. $compilation_status = "En cours de compilation...";
  22. }
  23. elsif(-e "/tmp/exegetes/$opt_dossier/$opt_projet.pdf") {
  24. my @stat = stat "/tmp/exegetes/$opt_dossier/$opt_projet.pdf";
  25. my $ctime = $stat[10];
  26. my $date_time = POSIX::strftime("%Y-%m-%d %H:%M:%S", localtime($ctime) );
  27. $compilation_status = $date_time;
  28. }
  29. else {
  30. $compilation_status = "Aucune compilation.";
  31. }
  32. header 'Content-Type' => 'application/json';
  33. return to_json { text => $compilation_status };
  34. };
  35. true;