aboutsummaryrefslogtreecommitdiff
path: root/aoc
blob: 13b89e7436de262a46c18aa0654bb7fcaf42e781 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/sh

# Set up a working environment for Advent of Code (https://adventofcode.com/).
# Requires tmux, lynx, curl and a valid AOC_SESSION_COOKIE session cookie.

# usage: aoc [yyyy nn]
# If yyyy (year) and nn (day, with leading zero if single digit) are not
# specified, the current year and day are used.

editor="vi a.py"
basedir="$HOME/src/aoc"
lynx_cookie_file="$(mktemp)"
clibrowser="lynx -cookie_file=$lynx_cookie_file"

year="${1:-$(date +'%Y')}"
day="${2:-$(date +'%d')}"
daynozero="$(echo "$day" | sed 's/^0//')"

cd "$basedir/$year/$day"

# Download the puzzle input and save it to input.txt
if [ ! -e input.txt ]; then
	url="https://adventofcode.com/$year/day/$daynozero/input"
	curl "$url" -H "cookie: session=$AOC_SESSION_COOKIE" -o input.txt
fi

# Open a tmux session with lynx in its own windows, and an editor and a
# terminal in split view.
printf 'adventofcode.com\tFALSE\t/\tTRUE\t2079722976\tsession\t%s' \
	"$AOC_SESSION_COOKIE" > "$lynx_cookie_file"
url="https://adventofcode.com/$year/day/$daynozero"
tmux new-session \; \
	send-keys "$editor" C-m \; \
	split-window -h \; \
	select-pane -t 0 \; \
	new-window \; \
	send-keys "$clibrowser $url" C-m \;

Generated with cgit - Back to sebastiano.tronto.net