pad-archiver/update
2022-05-21 12:16:41 +02:00

43 lines
833 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" -lt 1 ]; then
echo "Nothing changed for ${url}"
return
fi
git -C "${gitdir}" commit -m "Updated: ${dst} from ${url}"
}
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