anki/qt/tools/build_ui.sh
evandrocoan 47ccd6638d Added -o pipefail to all set -e ensuring the build fails when some
operation with pipe exits error status.

# Conflicts:
#	Makefile
2020-02-24 20:18:56 -03:00

47 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
#
# generate python files based on the designer ui files. pyuic5 and pyrcc5
# should be on the path.
#
set -eo pipefail
if [ ! -d "designer" ]
then
echo "Please run this from the project root"
exit
fi
mkdir -p aqt/forms
init=aqt/forms/__init__.py
temp=aqt/forms/scratch
rm -f $init $temp
echo "# This file auto-generated by build_ui.sh. Don't edit." > $init
echo "__all__ = [" >> $init
echo "Generating forms.."
for i in designer/*.ui
do
base=$(basename $i .ui)
py="aqt/forms/${base}.py"
echo " \"$base\"," >> $init
echo "from . import $base" >> $temp
if [ $i -nt $py ]; then
echo " * "$py
pyuic5 --from-imports $i -o $py.tmp
(cat <<EOF; tail -n +3 $py.tmp) | perl -p -e 's/(QtGui\.QApplication\.)?_?translate\(".*?", /_(/; s/, None.*/))/' > $py
# -*- coding: utf-8 -*-
# pylint: disable=unsubscriptable-object,unused-import
from anki.lang import _
EOF
rm $py.tmp
fi
done
echo "]" >> $init
cat $temp >> $init
rm $temp
echo "Building resources.."
pyrcc5 designer/icons.qrc -o aqt/forms/icons_rc.py