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 < $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