anki/qt/aqt/forms/build_ui.py

48 lines
1.4 KiB
Python
Raw Normal View History

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 anki.lang import _\n")
outdata = re.sub(r'(QtGui\.QApplication\.)?_?translate\(".*?", ', '_(', outdata)
outdata = re.sub(r', None.*', '))', 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
# 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