65 lines
2.1 KiB
Bash
Executable file
65 lines
2.1 KiB
Bash
Executable file
#!/bin/bash
|
|
#
|
|
# This file automatically renames .mjs files to js, and (tries) to fix most common ECMAScript
|
|
# specificities so that lupdate doesn't cry out in pain.
|
|
# See also: https://bugreports.qt.io/browse/QTBUG-123819
|
|
#
|
|
|
|
escape() {
|
|
str="$1"
|
|
str="${str//\//\\/}" # Escape slashes
|
|
str="${str//\*/\\*}" # Escape asterixes
|
|
echo "$str"
|
|
}
|
|
|
|
replace() {
|
|
file="$1"
|
|
from="$(escape "$2")"
|
|
to="$(escape "$3")"
|
|
sed -i "s/${from}/${to}/g" "$file"
|
|
}
|
|
|
|
rm ../qml/eu/ad5001/LogarithmPlotter/js/index.mjs # Remove index which should not be scanned
|
|
|
|
files=$(find ../../common/src -name '*.mjs')
|
|
for file in $files; do
|
|
echo "Moving '$file' to '${file%.*}.js'..."
|
|
mv "$file" "${file%.*}.js"
|
|
# Replacements to make it valid js
|
|
replace "${file%.*}.js" "^import" "/*import"
|
|
replace "${file%.*}.js" "^export *" "/*export *"
|
|
replace "${file%.*}.js" '.mjs"$' '.mjs"*/'
|
|
replace "${file%.*}.js" "^export default" "/*export default*/"
|
|
replace "${file%.*}.js" "^export" "/*export*/"
|
|
replace "${file%.*}.js" "async " "/*async */"
|
|
replace "${file%.*}.js" "await" "/*await */"
|
|
replace "${file%.*}.js" " #" "// #"
|
|
replace "${file%.*}.js" "this.#" "/*this.#*/"
|
|
done
|
|
|
|
echo "----------------------------"
|
|
echo "| Updating translations... |"
|
|
echo "----------------------------"
|
|
pyside6-lupdate -extensions js,qs,qml,py -recursive ../../common/src -recursive ../../runtime-pyside6/LogarithmPlotter -ts lp_*.ts
|
|
# Updating locations in files
|
|
for lp in *.ts; do
|
|
echo "Replacing locations in $lp..."
|
|
for file in $files; do
|
|
replace "$lp" "${file%.*}.js" "$file"
|
|
done
|
|
done
|
|
|
|
for file in $files; do
|
|
echo "Moving '${file%.*}.js' to '$file'..."
|
|
mv "${file%.*}.js" "$file"
|
|
# Resetting changes
|
|
replace "$file" "/*await */" "await"
|
|
replace "$file" "/*async */" "async "
|
|
replace "$file" "^/*export*/" "export"
|
|
replace "$file" "^/*export default*/" "export default"
|
|
replace "$file" '.mjs"*/' '.mjs"'
|
|
replace "$file" "^/*import" "import"
|
|
replace "$file" "^/*export" "export"
|
|
replace "$file" "// #" " #"
|
|
replace "$file" "/*this.#*/" "this.#"
|
|
done
|