From d12c935f9d78de8df69e70aecf91d14581abc72c Mon Sep 17 00:00:00 2001 From: s00ner Date: Fri, 2 Dec 2022 10:59:13 -0500 Subject: [PATCH] updated gitignore and added aocinit --- .gitignore | 1 + aocinit.rb | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 aocinit.rb diff --git a/.gitignore b/.gitignore index d6aa672..81ed407 100644 --- a/.gitignore +++ b/.gitignore @@ -56,3 +56,4 @@ build-iPhoneSimulator/ # Used by RuboCop. Remote config files pulled in from inherit_from directive. # .rubocop-https?--* +cookie.txt \ No newline at end of file diff --git a/aocinit.rb b/aocinit.rb new file mode 100644 index 0000000..1dce0b3 --- /dev/null +++ b/aocinit.rb @@ -0,0 +1,30 @@ +#!/bin/env ruby +require 'optparse' +require 'httparty' + +options = {} +OptionParser.new do |opts| + opts.banner = 'aocinit.rb --help' + opts.on('-y', '--year year', 'AoC year') do |year| + options[:year] = year + end + opts.on('-d', '--day day', 'AoC day') do |day| + options[:day] = day + end + opts.on('-c', '--cookie-file cookie', 'File containing your AoC cookie') do |cookie| + options[:cookie] = cookie + end +end.parse! + +url = "https://adventofcode.com/#{options[:year]}/day/#{options[:day]}/input" +options[:day] = '0' + options[:day] if options[:day].to_i < 10 +newdir = "./day#{options[:day]}" +cookie = File.read("./#{options[:cookie]}") +@options = { headers: { 'Cookie' => "session=#{cookie}" } } +input = HTTParty.get(url, @options) + +abort 'Day already initiated.' if Dir.exist?(newdir) +Dir.mkdir(newdir) +Dir.chdir(newdir) +File.write('./input', input) +File.write('./solution.rb', '#!/bin/env ruby')