use Encode qw(decode);
use Digest::MD5 qw(md5_hex);
+use Cwd;
my $id = "sweavealike";
sub import {
my %param = @_;
if (not defined $pagestate{$param{page}}{$id}{R}) {
+ # I've decided to put R into the src directory instead of the
+ # dest directory
+ my $cur_dir = getcwd;
+ chdir($config{srcdir});
$pagestate{$param{page}}{$id}{R} = Statistics::R->new(shared => 1)
or error("Unable to create an R process");
+ chdir($cur_dir);
}
# we currently don't bother to support anything but outputing the
# entire segment of code and its R output
my $image_loc_esc = $image_loc;
$image_loc_esc =~ s/"/\\"/g;
will_render($param{page},$image_loc);
+ # this makes sure that we can write to the file result
+ writefile($image_loc, $config{destdir}, "");
eval {
- $pagestate{$param{page}}{$id}{R}->run(qq|png(filename="$image_loc_esc",width=$param{width},height=$param{height});|);
+ $pagestate{$param{page}}{$id}{R}->run(qq|png(filename="$config{destdir}/$image_loc_esc",width=$param{width},height=$param{height});|);
};
if ($@) {
- error(qq|code 'png(filename="$image_loc_esc",width=$param{width},height=$param{height});' (from internal figure handling) produced error '$@'|);
+ error(qq|code 'png(filename="$config{destdir}/$image_loc_esc",width=$param{width},height=$param{height});' (from internal figure handling) produced error '$@'|);
}
}
my $code_result;