| .SILENT: | .SILENT: | ||||
| PYTHONPATH := . | |||||
| CODE := $(shell find . -path "./y????/p??.py" -type f | xargs ls -rt | tail -n 1) | CODE := $(shell find . -path "./y????/p??.py" -type f | xargs ls -rt | tail -n 1) | ||||
| DATA := $(shell echo ${CODE} | sed s/.py/.dat/) | DATA := $(shell echo ${CODE} | sed s/.py/.dat/) | ||||
| YEAR := $(shell echo ${CODE} | sed 's/[^0-9]/ /g' | cut -d' ' -f4) | YEAR := $(shell echo ${CODE} | sed 's/[^0-9]/ /g' | cut -d' ' -f4) | ||||
| DAY := $(shell echo ${CODE} | sed 's/[^0-9]/ /g' | cut -d' ' -f6) | DAY := $(shell echo ${CODE} | sed 's/[^0-9]/ /g' | cut -d' ' -f6) | ||||
| URL := https://adventofcode.com/${YEAR}/day/`echo ${DAY} | bc`/input | URL := https://adventofcode.com/${YEAR}/day/`echo ${DAY} | bc`/input | ||||
| main: | |||||
| pyrun: ${DATA} | |||||
| PYTHONPATH=. python3 -u ${CODE} < ${DATA} | |||||
| ${DATA}: | |||||
| # avoid spam in the lead up to the event | # avoid spam in the lead up to the event | ||||
| test ${YEAR}${DAY} -le `date +%Y%d` | test ${YEAR}${DAY} -le `date +%Y%d` | ||||
| # only poll if data isn't yet stored locally | # only poll if data isn't yet stored locally | ||||
| test -f ${DATA} || curl -s -b "session=${SESSION}" ${URL} > ${DATA} | test -f ${DATA} || curl -s -b "session=${SESSION}" ${URL} > ${DATA} | ||||
| # have fun! (access data through `open(0)`) | |||||
| cat $(DATA) | python3 -u ${CODE} |