Last active
November 21, 2022 19:55
-
-
Save lorenzosinisi/4ce052375d1ae8f9111762391d57f5e6 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Mix.install([ | |
{:req, "~> 0.2"}, | |
{:timex, "~> 3.7"}, | |
{:nimble_csv, "~> 1.1"} | |
]) | |
IO.puts(""" | |
\n | |
""") | |
time = DateTime.utc_now() | |
month_number = time.month | |
year = time.year | |
mese = | |
Timex.format!(time, "{Mfull}") | |
|> then(fn month -> | |
Timex.Translator.translate("it", "months", month) | |
end) | |
quindicina = | |
case Timex.format!(time, "{D}") |> Integer.parse() do | |
number when number > 14 -> "II" | |
number when number > 0 -> "I" | |
end | |
response = | |
if month_number in [6, 7, 8, 9] do | |
resp = | |
"https://cloud.arpa.puglia.it/MappaAlgaTossica/data/#{mese}#{quindicina}-#{year}.csv" | |
|> IO.inspect(label: "Fonte") | |
|> Req.get!() | |
resp.body | |
else | |
IO.puts("Ultima lettura per il #{year} - Settembre II") | |
resp = | |
"https://cloud.arpa.puglia.it/MappaAlgaTossica/data/SettembreII-#{year}.csv" | |
|> IO.inspect(label: "Fonte") | |
|> Req.get!() | |
resp.body | |
end | |
risk = fn value -> | |
{val, _} = Integer.parse(value) | |
cond do | |
val == 0 -> | |
:assente | |
val > 20000 -> | |
:molto_abbondate | |
val > 10001 -> | |
:abbondate | |
val > 5001 -> | |
:discreta | |
val > 1001 -> | |
:modesta | |
val > 0 -> | |
:scarsa | |
end | |
end | |
IO.puts(""" | |
\n\n\ | |
Posti in cui è stata rilevata la presenza di alga tossica \n(Ostreopsis ovata) | |
""") | |
response | |
|> List.delete_at(0) | |
|> Enum.map(fn row -> | |
[_city, location, name, _date, value, _] = List.first(row) |> String.split(";") | |
label = risk.(value) | |
if label in [:molto_abbondate, :abbondate, :discreta, :modesta] do | |
IO.puts( | |
"- #{[location, name] |> Enum.join(", ")} " <> | |
IO.ANSI.red_background() <> | |
"Alga Tossica" <> | |
IO.ANSI.reset() <> "" | |
) | |
else | |
IO.puts("- #{[location] |> Enum.join(", ")} " <> "💦 (sicuro)") | |
end | |
end) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment