Add generate_days script
- Add generate_days script to generate templated files for an advent of code year. - Optimize the fetch.sh script (remove awk usage)
This commit is contained in:
@@ -8,3 +8,4 @@ bin/
|
||||
cookies.txt
|
||||
res/*/*/input.txt
|
||||
Makefile
|
||||
compile_flags.txt
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
#include "common/aoc.h"
|
||||
|
||||
namespace y$1::day$2
|
||||
{
|
||||
REGISTER_DAY($1, Day$2, std::vector<int>, int);
|
||||
|
||||
REGISTER_TEST_EXAMPLE($1, Day$2, ExampleInput, 1, 0);
|
||||
REGISTER_TEST($1, Day$2, Input, 1, 0);
|
||||
REGISTER_TEST_EXAMPLE($1, Day$2, ExampleInput, 2, 0);
|
||||
REGISTER_TEST($1, Day$2, Input, 2, 0);
|
||||
|
||||
READ_INPUT(input)
|
||||
{
|
||||
std::vector<int> vec;
|
||||
std::string str;
|
||||
while (getline(input, str))
|
||||
{
|
||||
}
|
||||
return vec;
|
||||
}
|
||||
|
||||
OUTPUT1(input)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
OUTPUT2(input)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
-xc++
|
||||
-Isrc/
|
||||
-std=c++17
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#/bin/sh
|
||||
#!/bin/sh
|
||||
|
||||
if [ ! -e cookies.txt ]; then
|
||||
echo "No cookies.txt file exists"
|
||||
@@ -8,11 +8,11 @@ fi
|
||||
list=$(find -name "Day*.cpp" | awk -F '/' '{print $3 "/" $4}' | awk -F '.' '{print $1}' | sed 's/Day//g' | sort)
|
||||
|
||||
for item in $list; do
|
||||
year=$(echo $item | awk -F '/' '{print $1}')
|
||||
day=$(echo $item | awk -F '/' '{print $2}')
|
||||
year=${item%/*} # remove everything before /
|
||||
day=${item#*/} # remove everything after /
|
||||
dir="res/$year/day$day/input.txt"
|
||||
if [ ! -e $dir ]; then
|
||||
webitem=$(echo $day | sed 's/^0//g')
|
||||
webitem=${day#0}
|
||||
echo "Fetching $dir"
|
||||
tmp_file=$(mktemp)
|
||||
HTTP_CODE=$(curl -s -w "%{http_code}" -o "$tmp_file" --cookie cookies.txt https://adventofcode.com/$year/day/$webitem/input)
|
||||
|
||||
Executable
+23
@@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
|
||||
leading_zero() {
|
||||
printf '%02d\n' $1
|
||||
}
|
||||
|
||||
if [ $# -le 1 ]; then
|
||||
echo "year and amount of days arguments not passed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir 'src/'$1
|
||||
mkdir 'res/'$1
|
||||
for i in $(seq 1 $2); do
|
||||
i2=$(leading_zero $i)
|
||||
cat Template.cpp |
|
||||
sed 's/$1/'$1'/g' |
|
||||
sed 's/$2/'$i2'/g' > \
|
||||
'src/'$1'/Day'$i2'.cpp'
|
||||
res_dir='res/'$1'/day'$i2'/'
|
||||
mkdir $res_dir
|
||||
touch $res_dir'/test_input.txt'
|
||||
done
|
||||
Reference in New Issue
Block a user