ext_mod: Handle correctly when COMMIT.json not found

This commit is contained in:
Badlop 2022-08-04 17:09:44 +02:00
parent 00e6b0c97c
commit 72944d895b
1 changed files with 15 additions and 7 deletions

View File

@ -805,10 +805,11 @@ get_commit_details2(Path) ->
{ok, Body} -> {ok, Body} ->
parse_details(Body); parse_details(Body);
_ -> _ ->
#{sha => <<"1234567890">>, #{sha => unknown_sha,
date => <<>>, date => <<>>,
message => <<>>, message => <<>>,
html => <<>>, html => <<>>,
author_name => <<>>,
commit_html_url => <<>>} commit_html_url => <<>>}
end. end.
@ -891,8 +892,10 @@ get_installed_module_el({ModAtom, Attrs}, Lang) ->
Summary = list_to_binary(get_module_summary(Attrs)), Summary = list_to_binary(get_module_summary(Attrs)),
Author = list_to_binary(get_module_author(Attrs)), Author = list_to_binary(get_module_author(Attrs)),
{_, FromPath} = lists:keyfind(path, 1, Attrs), {_, FromPath} = lists:keyfind(path, 1, Attrs),
{ok, FromFile} = find_commit_json_path(FromPath), FromFile = case find_commit_json_path(FromPath) of
{ok, FF} -> FF;
{error, _} -> "dummypath"
end,
#{sha := CommitSha, #{sha := CommitSha,
date := CommitDate, date := CommitDate,
message := CommitMessage, message := CommitMessage,
@ -925,7 +928,7 @@ get_installed_module_el({ModAtom, Attrs}, Lang) ->
Started = Started =
case gen_mod:is_loaded(hd(ejabberd_option:hosts()), ModAtom) of case gen_mod:is_loaded(hd(ejabberd_option:hosts()), ModAtom) of
false -> false ->
[?C(<<" - ">>)]; [?C(<<" ">>)];
true -> true ->
[] []
end, end,
@ -942,8 +945,8 @@ get_installed_module_el({ModAtom, Attrs}, Lang) ->
?XE(<<"td">>, ?XE(<<"td">>,
[?INPUTTD(<<"checkbox">>, <<"selected_uninstall">>, Mod), [?INPUTTD(<<"checkbox">>, <<"selected_uninstall">>, Mod),
?C(<<" ">>), ?C(<<" ">>),
?AXC(CommitHtmlUrl, [TitleEl], binary:part(CommitSha, {0, 8})), get_commit_link(CommitHtmlUrl, TitleEl, CommitSha),
?C(<<" ">>)] ?C(<<" - ">>)]
++ Started ++ Started
++ Status) ++ Status)
| UpgradeEls]). | UpgradeEls]).
@ -1006,6 +1009,11 @@ make_home_title_el(Summary, Author) ->
LinkTitle = <<Summary/binary, "\n", Author/binary>>, LinkTitle = <<Summary/binary, "\n", Author/binary>>,
{<<"title">>, LinkTitle}. {<<"title">>, LinkTitle}.
get_commit_link(_CommitHtmlUrl, _TitleErl, unknown_sha) ->
?C(<<"Please Update Specs">>);
get_commit_link(CommitHtmlUrl, TitleEl, CommitSha) ->
?AXC(CommitHtmlUrl, [TitleEl], binary:part(CommitSha, {0, 8})).
get_content(Node, Query, Lang) -> get_content(Node, Query, Lang) ->
Instruct = translate:translate(Lang, ?T("Type a command in a textbox and click Execute.")), Instruct = translate:translate(Lang, ?T("Type a command in a textbox and click Execute.")),
{{_CommandCtl}, _Res} = {{_CommandCtl}, _Res} =
@ -1034,7 +1042,7 @@ get_content(Node, Query, Lang) ->
?XE(<<"tr">>, ?XE(<<"tr">>,
[?XE(<<"td">>, [?AC(Html, Dirname)]), [?XE(<<"td">>, [?AC(Html, Dirname)]),
?XE(<<"td">>, ?XE(<<"td">>,
[?AXC(CommitHtmlUrl, [TitleEl], binary:part(CommitSha, {0, 8}))] [get_commit_link(CommitHtmlUrl, TitleEl, CommitSha)]
), ),
?XE(<<"td">>, [?C(CommitMessage)]) ?XE(<<"td">>, [?C(CommitMessage)])
]) ])