aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Somerville <matthew@mysociety.org>2016-08-10 11:43:40 +0100
committerMatthew Somerville <matthew@mysociety.org>2016-08-10 11:44:05 +0100
commite5d85c495f28be97b8f94487dee26646dcd13ebb (patch)
tree32a26ae5085bb007eb4e504a9eb191007cf4a71e
parent0b9e9c12842f013815e133306d1c163ce67a9b28 (diff)
Don't error if static map tile fetch fails.
Also don't fetch tiles if running tests.
-rw-r--r--perllib/FixMyStreet/DB/Result/Problem.pm17
1 files changed, 14 insertions, 3 deletions
diff --git a/perllib/FixMyStreet/DB/Result/Problem.pm b/perllib/FixMyStreet/DB/Result/Problem.pm
index 92865ace9..13a9c52cd 100644
--- a/perllib/FixMyStreet/DB/Result/Problem.pm
+++ b/perllib/FixMyStreet/DB/Result/Problem.pm
@@ -924,18 +924,29 @@ sub static_map {
if ($tile_url =~ m{^//}) {
$tile_url = "https:$tile_url";
}
- my $tile = LWP::Simple::get($tile_url);
+ my $tile;
+ if (FixMyStreet->test_mode) {
+ $tile = FixMyStreet->path_to('t/app/controller/sample.jpg')->slurp(iomode => '<:raw');
+ } else {
+ $tile = LWP::Simple::get($tile_url);
+ }
+ next unless $tile;
my $im = Image::Magick->new;
$im->BlobToImage($tile);
+ my $gravity = ($i<2?'North':'South') . ($i%2?'East':'West');
if (!$image) {
$image = $im;
- $image->Extent(geometry => '512x512', gravity => 'NorthWest');
+ $image->Extent(geometry => '512x512', gravity => $gravity);
} else {
- my $gravity = ($i<2?'North':'South') . ($i%2?'East':'West');
$image->Composite(image => $im, gravity => $gravity);
}
}
+ unless ($image) {
+ FixMyStreet::Map::set_map_class($orig_map_class) if $orig_map_class;
+ return;
+ }
+
# The only pin might be the report pin, with added x/y
my $pin = $map_data->{pins}->[0];
if ($pin) {