From 48ba4e157759bc428597f5d2b04784a4d50a271b Mon Sep 17 00:00:00 2001 From: Danila Fedorin Date: Sat, 5 Dec 2020 15:56:11 -0800 Subject: [PATCH] Add code to fetch input from AoC. --- src/advent/input.cr | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/advent/input.cr 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