diff options
author | Sean Whitton <spwhitton@spwhitton.name> | 2021-01-28 00:16:49 -0700 |
---|---|---|
committer | Sean Whitton <spwhitton@spwhitton.name> | 2021-01-28 00:16:49 -0700 |
commit | f42d49b2939ab6983271a7ecdcf16a996f6ebeac (patch) | |
tree | 8cd51f9801b43dc5518f1e6ccde6bac6880945ad | |
parent | c97c00d799bbfbab958d3b03d403c5431a1cb7e2 (diff) | |
download | mailscripts-f42d49b2939ab6983271a7ecdcf16a996f6ebeac.tar.gz |
gmi2email: handle failures to fetch images
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
-rwxr-xr-x | gmi2email | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -292,13 +292,21 @@ sub gemtext_to_mail { } elsif ($opts{inline_images} and my ($uri) = m{^=>\s*(gemini://\S+\.(?:jpg|jpeg|png|gif))}) { &$flush; - my ($type, $data) = gemini_fetch($uri); + my ($type, $data, $failed); + #<<< + try { + ($type, $data) = gemini_fetch($uri); + } catch { + push @buffer, "when fetching $uri, $_"; + $failed = 1; + }; + #>>> $msg->attach( Type => $type, Data => $data, Filename => (split "/", $uri)[-1], Disposition => "inline" - ); + ) unless $failed; } elsif (/^=>/) { &$pad unless @buffer and $buffer[$#buffer] =~ /^=>/; push @buffer, $_; |