[system] / trunk / webwork-modperl / lib / WeBWorK / PG.pm Repository:
ViewVC logotype

Diff of /trunk/webwork-modperl/lib/WeBWorK/PG.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 554 Revision 555
11 11
12=cut 12=cut
13 13
14use strict; 14use strict;
15use warnings; 15use warnings;
16use File::Path qw(rmtree);
16use File::Temp qw(tempdir); 17use File::Temp qw(tempdir);
17use WeBWorK::DB::Classlist; 18use WeBWorK::DB::Classlist;
18use WeBWorK::DB::WW; 19use WeBWorK::DB::WW;
19use WeBWorK::PG::Translator; 20use WeBWorK::PG::Translator;
20use WeBWorK::Problem; 21use WeBWorK::Problem;
92 $translator->load_extra_packages(@extra_packages); 93 $translator->load_extra_packages(@extra_packages);
93 } 94 }
94 95
95 # set the environment (from defineProblemEnvir) 96 # set the environment (from defineProblemEnvir)
96 warn "PG: setting the environment (from defineProblemEnvir)\n"; 97 warn "PG: setting the environment (from defineProblemEnvir)\n";
97 $translator->environment(defineProblemEnvir( 98 my $envir = defineProblemEnvir(
98 $courseEnv, 99 $courseEnv,
99 $user, 100 $user,
100 $key, 101 $key,
101 $set, 102 $set,
102 $problem, 103 $problem,
103 $psvn, 104 $psvn,
104 $formFields, 105 $formFields,
105 $translationOptions, 106 $translationOptions,
106 )); 107 );
108 $translator->environment($envir);
107 109
108 # initialize the Translator 110 # initialize the Translator
109 warn "PG: initializing the Translator\n"; 111 warn "PG: initializing the Translator\n";
110 $translator->initialize(); 112 $translator->initialize();
111 113
154 156
155 # translate the PG source into text 157 # translate the PG source into text
156 warn "PG: translating the PG source into text\n"; 158 warn "PG: translating the PG source into text\n";
157 $translator->translate(); 159 $translator->translate();
158 160
161 # after we're done translating, we may have to clean up after the translator.
162 # for example, 'images' mode uses a tempdir for dvipng's temp files. We have
163 # to remove it.
164 if ($translationOptions->{displayMode} eq 'images' && $envir->{dvipngTempDir}) {
165 rmtree($envir->{dvipngTempDir}, 0, 1);
166 }
167
159 my ($result, $state); # we'll need these on the other side of the if block! 168 my ($result, $state); # we'll need these on the other side of the if block!
160 if ($translationOptions->{processAnswers}) { 169 if ($translationOptions->{processAnswers}) {
161 170
162 # process student answers 171 # process student answers
163 warn "PG: processing student answers\n"; 172 warn "PG: processing student answers\n";
310 $envir{templateDirectory} = $courseEnv->{courseDirs}->{templates}."/"; 319 $envir{templateDirectory} = $courseEnv->{courseDirs}->{templates}."/";
311 $envir{tempDirectory} = $courseEnv->{courseDirs}->{html_temp}."/"; 320 $envir{tempDirectory} = $courseEnv->{courseDirs}->{html_temp}."/";
312 $envir{tempURL} = $courseEnv->{courseURLs}->{html_temp}; 321 $envir{tempURL} = $courseEnv->{courseURLs}->{html_temp};
313 $envir{scriptDirectory} = undef; 322 $envir{scriptDirectory} = undef;
314 $envir{webworkDocsURL} = $courseEnv->{webworkURLs}->{docs}; 323 $envir{webworkDocsURL} = $courseEnv->{webworkURLs}->{docs};
315 $envir{dvipngTempDir} = tempdir("webwork-dvipng-XXXXXXXX", TMPDIR => 1); 324 $envir{dvipngTempDir} = $options->{displayMode} eq 'images'
325 ? tempdir("webwork-dvipng-XXXXXXXX", TMPDIR => 1)
326 : undef;
316 327
317 # Default values for evaluating answers 328 # Default values for evaluating answers
318 329
319 my $ansEvalDefaults = $courseEnv->{pg}->{ansEvalDefaults}; 330 my $ansEvalDefaults = $courseEnv->{pg}->{ansEvalDefaults};
320 $envir{$_} = $ansEvalDefaults->{$_} foreach (keys %$ansEvalDefaults); 331 $envir{$_} = $ansEvalDefaults->{$_} foreach (keys %$ansEvalDefaults);

Legend:
Removed from v.554  
changed lines
  Added in v.555

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9