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