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