summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-01-28 00:16:49 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-01-28 00:16:49 -0700
commitf42d49b2939ab6983271a7ecdcf16a996f6ebeac (patch)
tree8cd51f9801b43dc5518f1e6ccde6bac6880945ad
parentc97c00d799bbfbab958d3b03d403c5431a1cb7e2 (diff)
downloadmailscripts-f42d49b2939ab6983271a7ecdcf16a996f6ebeac.tar.gz
gmi2email: handle failures to fetch images
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
-rwxr-xr-xgmi2email12
1 files changed, 10 insertions, 2 deletions
diff --git a/gmi2email b/gmi2email
index d3e0ed5..ef38426 100755
--- a/gmi2email
+++ b/gmi2email
@@ -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, $_;