advent/src/advent/input.cr

16 lines
450 B
Crystal

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