diff options
Diffstat (limited to 'perllib/FixMyStreet')
-rw-r--r-- | perllib/FixMyStreet/App/Model/PhotoSet.pm | 9 | ||||
-rw-r--r-- | perllib/FixMyStreet/SendReport/Angus.pm | 1 | ||||
-rw-r--r-- | perllib/FixMyStreet/SendReport/EastHants.pm | 1 | ||||
-rw-r--r-- | perllib/FixMyStreet/SendReport/Open311.pm | 7 |
4 files changed, 10 insertions, 8 deletions
diff --git a/perllib/FixMyStreet/App/Model/PhotoSet.pm b/perllib/FixMyStreet/App/Model/PhotoSet.pm index 243675f2c..b44bf4b38 100644 --- a/perllib/FixMyStreet/App/Model/PhotoSet.pm +++ b/perllib/FixMyStreet/App/Model/PhotoSet.pm @@ -8,6 +8,8 @@ use if !$ENV{TRAVIS}, 'Image::Magick'; use Scalar::Util 'openhandle', 'blessed'; use Digest::SHA qw(sha1_hex); use Image::Size; +use IPC::Cmd qw(can_run); +use IPC::Open3; use MIME::Base64; has c => ( @@ -144,7 +146,12 @@ has ids => ( # Arrayref of $fileid tuples (always, so post upload/raw data proc my $photo_blob = eval { my $filename = $upload->tempname; my $out; - $out = `jhead -se -autorot $filename 2>&1` if $type eq 'jpeg'; + if ($type eq 'jpeg' && can_run('jhead')) { + my $pid = open3(undef, my $stdout, undef, 'jhead', '-se', '-autorot', $filename); + $out = join('', <$stdout>); + waitpid($pid, 0); + close $stdout; + } unless (defined $out) { my ($w, $h, $err) = Image::Size::imgsize($filename); die _("Please upload an image only") . "\n" if !defined $w || $err !~ /JPG|GIF|PNG|TIF/; diff --git a/perllib/FixMyStreet/SendReport/Angus.pm b/perllib/FixMyStreet/SendReport/Angus.pm index 15441cc1f..cab5de173 100644 --- a/perllib/FixMyStreet/SendReport/Angus.pm +++ b/perllib/FixMyStreet/SendReport/Angus.pm @@ -160,7 +160,6 @@ sub send { } } catch { my $e = $_; - print "Caught an error: $e\n"; $self->error( "Error sending to Angus: $e" ); }; $self->success( !$return ); diff --git a/perllib/FixMyStreet/SendReport/EastHants.pm b/perllib/FixMyStreet/SendReport/EastHants.pm index cc302b8b3..55ec79613 100644 --- a/perllib/FixMyStreet/SendReport/EastHants.pm +++ b/perllib/FixMyStreet/SendReport/EastHants.pm @@ -52,7 +52,6 @@ sub send { $return = 0 if $result eq 'Report received'; } catch { my $e = $_; - print "Caught an error: $e\n"; $self->error( "Error sending to East Hants: $e" ); }; $self->success( !$return ); diff --git a/perllib/FixMyStreet/SendReport/Open311.pm b/perllib/FixMyStreet/SendReport/Open311.pm index 5c7fa30f3..bf5ed3e30 100644 --- a/perllib/FixMyStreet/SendReport/Open311.pm +++ b/perllib/FixMyStreet/SendReport/Open311.pm @@ -144,14 +144,11 @@ sub send { $self->success( 1 ); } else { $result *= 1; - # temporary fix to resolve some issues with west berks - if ( $row->bodies_str =~ /2619/ ) { - $result *= 0; - } + $self->error( "Failed to send over Open311\n" ) unless $self->error; + $self->error( $self->error . "\n" . $open311->error ); } } - $self->error( 'Failed to send over Open311' ) unless $self->success; return $result; } |