pad-archiver/update
2022-04-26 22:07:19 +02:00

42 lines
824 B
Bash
Executable file

#!/bin/sh
update() {
url="$1"
pad="$(basename $url).txt"
dst="$pad"
gitdir="$(dirname $dst)"
curl --silent -k -o "${dst}" "${url}/export/txt"
status="$?"
if [ ${status} -ne 0 ]; then
echo "Failed to get pad at ${url}"
return
fi
newlength="$(wc -l < ${dst})"
if [ "$newlength" -lt 3 ]
then
echo "Skipping update of ${url}, because pad has likely been removed"
return
fi
git -C "${gitdir}" add "${dst}"
changes=$(git -C "${gitdir}" diff --cached | wc -l)
if [ "$changes" -gt 0 ]; then
git -C "${gitdir}" commit -m "Updated: ${dst} from ${url}"
else
echo "Nothing changed for ${url}"
fi
}
if ! git rev-parse --is-inside-work-tree
then
echo "Not a working directory"
exit 1
fi
while read -r pad
do
update "$pad"
git -C "${gitdir}" reset --hard HEAD
done