From 4ee9759f32e0178388333eb9f07717a3ac17d767 Mon Sep 17 00:00:00 2001 From: Guillaume Rousse <guillaume.rousse@renater.fr> Date: Thu, 29 Nov 2018 11:48:58 +0100 Subject: [PATCH] don't fail if element is missing --- lib/AccountManager/Metadata.pm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/AccountManager/Metadata.pm b/lib/AccountManager/Metadata.pm index e83ec95..e4524ba 100644 --- a/lib/AccountManager/Metadata.pm +++ b/lib/AccountManager/Metadata.pm @@ -138,12 +138,18 @@ sub parse { my %names = map { $_->getAttribute('xml:lang') => $_->textContent() } @names; - $data->{name} = $names{en} ? $names{en} : $names[0]->textContent(); + $data->{name} = + $names{en} ? $names{en} : + @names ? $names[0]->textContent() : + undef; my @urls = $uiinfo->getChildrenByLocalName('InformationURL'); my %urls = map { $_->getAttribute('xml:lang') => $_->textContent() } @urls; - $data->{url} = $urls{en} ? $urls{en} : $urls[0]->textContent(); + $data->{url} = + $urls{en} ? $urls{en} : + @urls ? $urls[0]->textContent() : + undef; } } elsif ($child->localname() eq 'Extensions') { -- GitLab