Some housekeeping
This commit is contained in:
147
sbin/aoc
147
sbin/aoc
@@ -1,147 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
today() {
|
|
||||||
TODAYDIR="$AOCROOT/$CURRYEAR/day$CURRDAY"
|
|
||||||
if [ ! -d $TODAYDIR ]; then
|
|
||||||
mkdir $TODAYDIR
|
|
||||||
fi
|
|
||||||
echo $TODAYDIR
|
|
||||||
}
|
|
||||||
|
|
||||||
getsharelink() {
|
|
||||||
echo "Getting share path"
|
|
||||||
YR=$CURRYEAR
|
|
||||||
DY=$CURRDAY
|
|
||||||
|
|
||||||
PWD=$(pwd)
|
|
||||||
PWD=${PWD#$AOCROOT/}
|
|
||||||
if [[ "$PWD" =~ ^[1-9][0-9]{3}/day[0-2][0-9]$ ]]; then
|
|
||||||
YR=${PWD:0:4}
|
|
||||||
DY=${PWD:5:5}
|
|
||||||
DY=${DY/day/}
|
|
||||||
fi
|
|
||||||
echo "https://git.bullercodeworks.com/brian/adventofcode/src/branch/main/$YR/day$DY/main.go"
|
|
||||||
}
|
|
||||||
|
|
||||||
getproblem() {
|
|
||||||
YR=$CURRYEAR
|
|
||||||
DY=$CURRDAY
|
|
||||||
DIRDY=$CURRDAY
|
|
||||||
|
|
||||||
PWD=$(pwd)
|
|
||||||
PWD=${PWD#$AOCROOT/}
|
|
||||||
if [[ "$PWD" =~ ^[1-9][0-9]{3}/day[0-2][0-9]$ ]]; then
|
|
||||||
YR=${PWD:0:4}
|
|
||||||
DY=${PWD:5:5}
|
|
||||||
DY=${DY/day0/}
|
|
||||||
DY=${DY/day/}
|
|
||||||
DIRDY=$DY
|
|
||||||
fi
|
|
||||||
if [[ ! -d "$AOCROOT/$YR/day$DY" ]]; then
|
|
||||||
echo "Making directory: $AOCROOT/$YR/day$DY"
|
|
||||||
mkdir "$AOCROOT/$YR/day$DY"
|
|
||||||
fi
|
|
||||||
cd "$AOCROOT/$YR/day$DY"
|
|
||||||
if [[ -f "problem" ]]; then
|
|
||||||
echo "Found problem file."
|
|
||||||
if [[ $1 != "-f" ]]; then
|
|
||||||
# Check if the file already exists
|
|
||||||
echo "Not forcing overwrite."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Remove any zero padding from day
|
|
||||||
DY=$(echo "$DY"|awk '$0*=1')
|
|
||||||
echo "Getting problem at $YR/day/$DY"
|
|
||||||
elinks -dump https://adventofcode.com/$CURRYEAR/day/$DY > problem
|
|
||||||
}
|
|
||||||
|
|
||||||
getinput() {
|
|
||||||
YR=$CURRYEAR
|
|
||||||
DY=$CURRDAY
|
|
||||||
DIRDY=$CURRDAY
|
|
||||||
|
|
||||||
PWD=$(pwd)
|
|
||||||
PWD=${PWD#$AOCROOT/}
|
|
||||||
if [[ "$PWD" =~ ^[1-9][0-9]{3}/day[0-2][0-9]$ ]]; then
|
|
||||||
YR=${PWD:0:4}
|
|
||||||
DY=${PWD:5:5}
|
|
||||||
DY=${DY/day0/}
|
|
||||||
DY=${DY/day/}
|
|
||||||
fi
|
|
||||||
if [[ ! -d "$AOCROOT/$YR/day$DIRDY" ]]; then
|
|
||||||
echo "Making directory: $AOCROOT/$YR/day$DY"
|
|
||||||
mkdir "$AOCROOT/$YR/day$DY"
|
|
||||||
fi
|
|
||||||
cd "$AOCROOT/$YR/day$DIRDY"
|
|
||||||
if [[ -f "input" ]]; then
|
|
||||||
echo "Found input file."
|
|
||||||
if [[ $1 != "-f" ]]; then
|
|
||||||
# Check if the file already exists
|
|
||||||
echo "Not forcing overwrite."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Remove any zero padding from day
|
|
||||||
DY=$(echo "$CURRDAY"|awk '$0*=1')
|
|
||||||
echo "Getting input for $CURRYEAR/day/$DY"
|
|
||||||
echo "https://adventofcode.com/$CURRYEAR/day/$DY/input"
|
|
||||||
echo "session=$(getsessiontoken)"
|
|
||||||
curl --cookie "session=$(getsessiontoken)" https://adventofcode.com/$CURRYEAR/day/$DY/input > input
|
|
||||||
}
|
|
||||||
|
|
||||||
getsessiontoken() {
|
|
||||||
FULLCOOKIE=$(grep "adventofcode" $HOME/.elinks/cookies)
|
|
||||||
if [[ ! -n "$FULLCOOKIE" ]]; then
|
|
||||||
echo "Error pulling elinks cookie"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo $FULLCOOKIE | cut -d" " -f2
|
|
||||||
}
|
|
||||||
|
|
||||||
help() {
|
|
||||||
echo "Usage: aoc [option]"
|
|
||||||
echo "Available Options:"
|
|
||||||
echo ""
|
|
||||||
echo " today - Echo the current day's directory, creating it if it doesn't exist"
|
|
||||||
echo ""
|
|
||||||
echo " getproblem - Retrieve the problem for the day associated with the current directory"
|
|
||||||
echo " If the current directory isn't a specific problem (\d\d\d\d/day\d\d/)"
|
|
||||||
echo " then it changes to today's directory, making it if needed"
|
|
||||||
echo ""
|
|
||||||
echo " getinput - Retrieve the input for the day associated with the current directory"
|
|
||||||
echo " If the current directory isn't a specific problem (\d\d\d\d/day\d\d/)"
|
|
||||||
echo " then it changes to today's directory, making it if needed"
|
|
||||||
echo ""
|
|
||||||
echo " getsessiontoken - Echo the session token from the elinks cookie file"
|
|
||||||
echo ""
|
|
||||||
echo " getsharelink - Get the repo remote path for the main.go file in the current directory"
|
|
||||||
echo " If the current directory isn't a specific problem (\d\d\d\d/day\d\d/)"
|
|
||||||
echo " then it uses today's directory"
|
|
||||||
echo ""
|
|
||||||
echo " help - Display this message"
|
|
||||||
echo ""
|
|
||||||
}
|
|
||||||
|
|
||||||
case $1 in
|
|
||||||
"today")
|
|
||||||
today
|
|
||||||
;;
|
|
||||||
"getproblem")
|
|
||||||
getproblem
|
|
||||||
;;
|
|
||||||
"getinput")
|
|
||||||
getinput
|
|
||||||
;;
|
|
||||||
"getsessiontoken")
|
|
||||||
getsessiontoken
|
|
||||||
;;
|
|
||||||
"getsharelink")
|
|
||||||
getsharelink
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
help
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
Reference in New Issue
Block a user