diff --git a/src/advent/input.cr b/src/advent/input.cr new file mode 100644 index 0000000..2301651 --- /dev/null +++ b/src/advent/input.cr @@ -0,0 +1,15 @@ +require "http/client" +require "uri" + +def input(year, day) + filename = "year#{year}day#{day}.txt.cache" + return File.read(filename) if File.exists? filename + HTTP::Client.new(URI.parse("https://adventofcode.com")) do |client| + client.before_request do |request| + request.cookies["session"] = ENV["AOC_SESSION"] + end + input = client.get("/#{year}/day/#{day}/input").body.to_s + File.write(filename, input) + return input + end +end