| … | |
… | |
| 16 | |
16 | |
| 17 | use XMLRPC::Lite; |
17 | use XMLRPC::Lite; |
| 18 | use MIME::Base64 qw( encode_base64 decode_base64); |
18 | use MIME::Base64 qw( encode_base64 decode_base64); |
| 19 | |
19 | |
| 20 | # configuration section |
20 | # configuration section |
| 21 | use constant PROTOCOL => 'https'; # or 'http'; |
21 | use constant PROTOCOL => 'http'; # or 'http'; |
| 22 | use constant HOSTURL => 'webwork.rochester.edu'; |
22 | use constant HOSTURL => 'localhost'; |
| 23 | use constant HOSTPORT => '443'; # or 80 |
23 | use constant HOSTPORT => '80'; # or 80 |
| 24 | use constant TRANSPORT_METHOD => 'XMLRPC::Lite'; |
24 | use constant TRANSPORT_METHOD => 'XMLRPC::Lite'; |
| 25 | use constant REQUEST_CLASS =>'WebworkXMLRPC'; # WebworkXMLRPC is used for soap also!! |
25 | use constant REQUEST_CLASS =>'WebworkXMLRPC'; # WebworkXMLRPC is used for soap also!! |
| 26 | use constant REQUEST_URI =>'mod_xmlrpc'; |
26 | use constant REQUEST_URI =>'mod_xmlrpc'; |
| 27 | use constant TEMPOUTPUTFILE => '/Users/gage/Desktop/renderProblemOutput.html'; |
27 | use constant TEMPOUTPUTFILE => '/Users/gage/Desktop/renderProblemOutput.html'; |
| 28 | use constant COURSE => 'daemon2_course'; |
28 | use constant COURSE => 'gage_course'; |
| 29 | |
29 | |
| 30 | |
30 | |
| 31 | |
31 | |
| 32 | my @COMMANDS = qw( listLibraries renderProblem ); #listLib readFile tex2pdf |
32 | my @COMMANDS = qw( listLibraries renderProblem ); #listLib readFile tex2pdf |
| 33 | |
33 | |
| … | |
… | |
| 72 | |
72 | |
| 73 | my $requestResult = TRANSPORT_METHOD |
73 | my $requestResult = TRANSPORT_METHOD |
| 74 | #->uri('http://'.HOSTURL.':'.HOSTPORT.'/'.REQUEST_CLASS) |
74 | #->uri('http://'.HOSTURL.':'.HOSTPORT.'/'.REQUEST_CLASS) |
| 75 | -> proxy(PROTOCOL.'://'.HOSTURL.':'.HOSTPORT.'/'.REQUEST_URI); |
75 | -> proxy(PROTOCOL.'://'.HOSTURL.':'.HOSTPORT.'/'.REQUEST_URI); |
| 76 | |
76 | |
| 77 | my $test = [3,4,5,6]; |
77 | # my $test = [3,4,5,6]; |
| 78 | my $input = setInputTable(); |
78 | my $input = setInputTable(); |
| 79 | print "displayMode=",$input->{envir}->{displayMode},"\n"; |
79 | print "displayMode=",$input->{envir}->{displayMode},"\n"; |
| 80 | local( $result); |
80 | local( $result); |
| 81 | # use eval to catch errors |
81 | # use eval to catch errors |
| 82 | eval { $result = $requestResult->call(REQUEST_CLASS.'.'.$command,$input) }; |
82 | eval { $result = $requestResult->call(REQUEST_CLASS.'.'.$command,$input) }; |
| … | |
… | |
| 144 | |
144 | |
| 145 | sub setInputTable_for_listLib { |
145 | sub setInputTable_for_listLib { |
| 146 | $out = { |
146 | $out = { |
| 147 | pw => 'geometry', |
147 | pw => 'geometry', |
| 148 | set => 'set0', |
148 | set => 'set0', |
| 149 | library_name => 'rochesterLibrary', |
149 | library_name => 'Library', |
| 150 | command => 'all', |
150 | command => 'all', |
| 151 | }; |
151 | }; |
| 152 | |
152 | |
| 153 | $out; |
153 | $out; |
| 154 | } |
154 | } |
| 155 | sub setInputTable { |
155 | sub setInputTable { |
| 156 | $out = { |
156 | $out = { |
| 157 | pw => 'geometry', |
157 | pw => 'geometry', |
| 158 | set => 'set0', |
158 | set => 'set0', |
| 159 | library_name => 'rochesterLibrary', |
159 | library_name => 'Library', |
| 160 | command => 'all', |
160 | command => 'all', |
| 161 | answer_form_submitted => 1, |
161 | answer_form_submitted => 1, |
| 162 | course => COURSE(), |
162 | course => COURSE(), |
| 163 | extra_packages_to_load => [qw( AlgParserWithImplicitExpand Expr |
163 | extra_packages_to_load => [qw( AlgParserWithImplicitExpand Expr |
| 164 | ExprWithImplicitExpand AnswerEvaluator |
164 | ExprWithImplicitExpand AnswerEvaluator |