Compare commits
1 Commits
master
...
compare-xm
Author | SHA1 | Date | |
---|---|---|---|
3471348a79 |
10
tools/compare-xml-structure.py
Normal file
10
tools/compare-xml-structure.py
Normal file
@ -0,0 +1,10 @@
|
||||
import sys
|
||||
import xml.etree.ElementTree as ET
|
||||
|
||||
# Load root of XML file
|
||||
root = ET.parse(sys.argv[1]).getroot()
|
||||
|
||||
# Print all XML elements, one per row
|
||||
elementlist = '\n'.join([elem.tag for elem in root.iter()])
|
||||
|
||||
print(elementlist)
|
39
tools/compare-xml-structure.sh
Executable file
39
tools/compare-xml-structure.sh
Executable file
@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
|
||||
file=$1
|
||||
basedir=$(dirname "$(dirname "$(realpath "$0")")")
|
||||
|
||||
# Get file extension
|
||||
ext="${file##*.}"
|
||||
|
||||
# remove "en.$ext"
|
||||
base=$(echo "${file}" | sed -E "s/\.[a-z][a-z]\.${ext}//")
|
||||
# get change date of English file
|
||||
en="${base}".en."${ext}"
|
||||
envers=$(xsltproc "${basedir}"/build/xslt/get_version.xsl "${en}")
|
||||
|
||||
enxml=$(python3 "${basedir}"/tools/compare-xml-structure.py "${en}")
|
||||
#enxml="${enxml//translator/}"
|
||||
|
||||
for i in "${base}".[a-z][a-z]."${ext}"; do
|
||||
if [[ $i != *".en."* ]]; then
|
||||
# get version of translation
|
||||
trvers=$(xsltproc "${basedir}"/build/xslt/get_version.xsl "${i}")
|
||||
# only execute check if version number identical
|
||||
if [ "${trvers:-0}" -eq "${envers:-0}" ]; then
|
||||
trxml=$(python3 "${basedir}"/tools/compare-xml-structure.py "${i}")
|
||||
trxml="${trxml//translator/}"
|
||||
|
||||
diff="$(diff -B <(echo "$enxml") <(echo "$trxml"))"
|
||||
#diff="$(comm --nocheck-order -1 -3 <(echo "$enxml") <(echo "$trxml"))"
|
||||
|
||||
#diff="$(sed -e 's/translator//g' <<< "$diff")"
|
||||
|
||||
if [[ -n $diff ]]; then
|
||||
#echo "$diff"
|
||||
diff=$(echo "$diff" | grep -E "(<|>)" | sed s/..//)
|
||||
echo "${i}: $(paste -s -d ' ' <<< "$diff")"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
Loading…
x
Reference in New Issue
Block a user