advent_of_code/lib/get_input.ex
2023-12-06 13:53:13 -05:00

27 lines
563 B
Elixir

defmodule Mix.Tasks.GetInput do
defp get_session() do
{_, content} = File.read("./.session")
content |> String.trim()
end
defp get_request_headers() do
[Cookie: "session=#{get_session()}"]
end
def run(args) do
[year, day] = args
write_file = &File.write("./input/#{year}_#{day}.txt", &1)
HTTPoison.start()
HTTPoison.get!(
"https://adventofcode.com/#{year}/day/#{day}/input",
get_request_headers()
)
|> Map.get(:body)
|> then(fn i ->
IO.puts(i)
i
end)
|> write_file.()
end
end