anki/qt/aqt/forms/build_ui.py

50 lines
1.3 KiB
Python

import re
import sys
import io
from PyQt5.uic import compileUi
ui_file = sys.argv[1]
py_file = sys.argv[2]
buf = io.StringIO()
compileUi(open(ui_file), buf, from_imports=True)
outdata = buf.getvalue()
outdata = outdata.replace(
"# -*- coding: utf-8 -*-", "# -*- coding: utf-8 -*-\nfrom aqt.utils import tr, TR\n"
)
outdata = re.sub(
r'(?:QtGui\.QApplication\.)?_?translate\(".*?", "(.*?)"', "tr(TR.\\1", outdata
)
with open(py_file, "w") as file:
file.write(outdata)
# 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
# # 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