mirror of
https://github.com/Respect/Validation.git
synced 2024-06-29 10:40:24 +02:00
b78f602f0e
This reverts commit 5450ef86a8
.
30 lines
1 KiB
Bash
Executable file
30 lines
1 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# Usage: {script}
|
|
# Update list of language codes (ISO-639-2)
|
|
|
|
set -euo pipefail
|
|
|
|
declare -r LIST_URL="http://www.loc.gov/standards/iso639-2/ISO-639-2_utf-8.txt"
|
|
declare -r LIST_FILENAME=$(mktemp)
|
|
|
|
declare -r RULE_FILENAME=$(dirname "${BASH_SOURCE}")/../library/Rules/LanguageCode.php
|
|
declare -r RULE_FILENAME_TEMPORARY=$(mktemp)
|
|
|
|
echo "- Downloading list from"
|
|
curl --silent --location "${LIST_URL}" --output "${LIST_FILENAME}"
|
|
|
|
|
|
echo "- Creating temporary file"
|
|
{
|
|
sed --silent '/^</,/ public const LANGUAGE_CODES/p' "${RULE_FILENAME}"
|
|
echo " // phpcs:disable Squiz.PHP.CommentedOutCode.Found"
|
|
while IFS='|' read alpha_3 _ alpha_2 name _; do
|
|
echo " ['${alpha_2}', '$(tr -cd '[a-z]' <<< ${alpha_3})'], // ${name}"
|
|
done < "${LIST_FILENAME}"
|
|
echo " // phpcs:enable Squiz.PHP.CommentedOutCode.Found"
|
|
sed --silent '/^ ];/,/^}/p' "${RULE_FILENAME}"
|
|
} > "${RULE_FILENAME_TEMPORARY}"
|
|
|
|
echo "- Updating content of '$(basename ${RULE_FILENAME})'"
|
|
mv "${RULE_FILENAME_TEMPORARY}" "${RULE_FILENAME}"
|