diff options
author | Nat Lasseter <user@4574.co.uk> | 2022-12-04 16:23:27 +0000 |
---|---|---|
committer | Nat Lasseter <user@4574.co.uk> | 2022-12-04 16:23:27 +0000 |
commit | 8079694bd5ab49d1a75247185ff2f6cea9f370c7 (patch) | |
tree | 81fccd3266b0052c4c062e633cdb3c52ad27866d | |
parent | 408c7a8b7dce5246a595b7737de6a1b7825a53b8 (diff) |
newday
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | README.textile | 6 | ||||
-rwxr-xr-x | newday | 40 |
3 files changed, 48 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f80fbab --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +sessionToken +*.swp diff --git a/README.textile b/README.textile index 6663fbc..4ab3acf 100644 --- a/README.textile +++ b/README.textile @@ -1,5 +1,11 @@ h1. Advent of Code 2022 +h2. newday + +p. Put your session cookie in @sessionToken@. + +p. Run @./newday@ to set up a new day. + h2. Running bc. $ cd dayXX @@ -0,0 +1,40 @@ +#!/usr/bin/env ruby + +require 'open-uri' +require 'nokogiri' + +sessionToken = File.read("sessionToken").strip + +now = Time.now +year = now.year +day = now.day + +print "Set up year #{year} day #{day} [/y.*/i]? " +if gets.strip.downcase[0] != ?y + print "Year: " + year = gets.to_i + print "Day: " + day = gets.to_i +end + +if File.directory?("day%02d" % day) + $stderr.puts "Day #{day} already set up" + exit 1 +end + +baseUrl = "https://adventofcode.com/#{year}/day/#{day}" + +dayPage = Nokogiri::HTML(URI.open(baseUrl, "Cookie" => "session=#{sessionToken}")) + +testData = dayPage.css('body > main > article.day-desc > pre > code')[0].content +inputData = URI.open("#{baseUrl}/input", "Cookie" => "session=#{sessionToken}").read + +baseDir = "day%02d" % day +Dir.mkdir(baseDir) + +File.open(File.join(baseDir, "test"), ?w) do |f| + f.print(testData) +end +File.open(File.join(baseDir, "input"), ?w) do |f| + f.print(inputData) +end |