diff options
author | Matthew Somerville <matthew@mysociety.org> | 2016-08-10 11:43:40 +0100 |
---|---|---|
committer | Matthew Somerville <matthew@mysociety.org> | 2016-08-10 11:44:05 +0100 |
commit | e5d85c495f28be97b8f94487dee26646dcd13ebb (patch) | |
tree | 32a26ae5085bb007eb4e504a9eb191007cf4a71e /perllib/FixMyStreet/DB/Result/Problem.pm | |
parent | 0b9e9c12842f013815e133306d1c163ce67a9b28 (diff) |
Don't error if static map tile fetch fails.
Also don't fetch tiles if running tests.
Diffstat (limited to 'perllib/FixMyStreet/DB/Result/Problem.pm')
-rw-r--r-- | perllib/FixMyStreet/DB/Result/Problem.pm | 17 |
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) { |