My personal project and infrastructure archive
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
nomicon/pkgs/applications/graphics/tesseract/fetch-language-hashes

35 lines
893 B

#!/usr/bin/env bash
# Usage:
# ./fetch-language-hashes <tessdataRev> [<language code>…]
#
# Fetches all languages if no language codes are given.
#
# Example:
# ./fetch-language-hashes 4.0.0 eng spa
#
# Output:
# eng = "0iy0...";
# spa = "15kw...";
set -e
(( $# >= 1 )) || exit 1
tessdataRev=$1
shift
if (( $# > 0 )); then
langCodes="$@"
else
repoPage=$(curl -fs https://github.com/tesseract-ocr/tessdata/tree/$tessdataRev || {
>&2 echo "Invalid tessdataRev: $tessdataRev"
exit 1
})
langCodes=$(echo $(echo "$repoPage" | grep -ohP "(?<=/)[^/ ]+?(?=\.traineddata)" | sort -u))
fi
for lang in $langCodes; do
url=https://github.com/tesseract-ocr/tessdata/raw/$tessdataRev/$lang.traineddata
hash=$(nix hash to-sri --type sha256 $(nix-prefetch-url $url 2>/dev/null))
echo "$lang = \"$hash\";"
done