Current section
Files
Jump to
Current section
Files
src/cassone_piadina.erl
%% SPDX-License-Identifier: Apache-2.0
%% SPDX-FileCopyrightText: 2026 Stritzinger GmbH
-module(cassone_piadina).
-export([fetch_piadina/2, fetch_azdora/2]).
-define(url_template,
"https://github.com/erlef/piadina/releases/download/{V}/{PROG}-{OS}-{ARCH}").
-spec fetch_piadina(OS :: cassone:os(), Arch :: cassone:arch()) -> string().
fetch_piadina(OS, Arch) ->
URL = make_url("piadina", OS, Arch),
cassone_cache:fetch(URL).
-spec fetch_azdora(OS :: cassone:os(), Arch :: cassone:arch()) -> string().
fetch_azdora(OS, Arch) ->
URL = make_url("azdora", OS, Arch),
cassone_cache:fetch(URL).
make_url(Prog, OS, Arch) ->
Replacements = [
{"{PROG}", Prog},
{"{V}", "0.1.0"},
{"{OS}", atom_to_list(OS)},
{"{ARCH}", arch_to_string(Arch)}
],
lists:foldl(
fun({Key, Value}, Acc) ->
string:replace(Acc, Key, Value, all)
end, ?url_template, Replacements).
arch_to_string(x86_64) -> "amd64";
arch_to_string(aarch64) -> "arm64".