Source code for sas.qtgui.convertUI
# Convert all .ui files in all subdirectories of the current script
import os
import sys
[docs]def pyrrc(in_file, out_file):
""" Run the pyrcc4 script"""
execute = 'pyrcc5 %s -o %s' % (in_file, out_file)
os.system(execute)
[docs]def pyuic(in_file, out_file):
""" Run the pyuic5 script"""
execute = 'pyuic5 -o %s %s' % (out_file, in_file)
os.system(execute)
[docs]def file_in_newer(file_in, file_out):
"""
Check whether file_in is newer than file_out, if file_out exists.
Returns True if file_in is newer, or if file_out doesn't exist; False
otherwise.
"""
try:
out_stat = os.stat(file_out)
except OSError:
# file_out does not exist
return True
in_stat = os.stat(file_in)
# simple comparison of modification time
return in_stat.st_mtime >= out_stat.st_mtime
# look for .ui files
for root, dirs, files in os.walk("."):
for file in files:
if file.endswith(".ui"):
file_in = os.path.join(root, file)
file_out = os.path.splitext(file_in)[0]+'.py'
if file_in_newer(file_in, file_out):
print("Generating " + file_out + " ...")
pyuic(file_in, file_out)
# RC file in UI directory
execute_root = os.path.split(sys.modules[__name__].__file__)[0]
ui_root = os.path.join(execute_root, 'UI')
rc_file = 'main_resources.qrc'
out_file = 'main_resources_rc.py'
in_file = os.path.join(ui_root, rc_file)
out_file = os.path.join(ui_root, out_file)
if file_in_newer(in_file, out_file):
print("Generating " + out_file + " ...")
pyrrc(in_file, out_file)
# Images
images_root = os.path.join(execute_root, 'images')
out_root = os.path.join(execute_root, 'UI')
rc_file = 'images.qrc'
out_file = 'images_rc.py'
in_file = os.path.join(images_root, rc_file)
out_file = os.path.join(ui_root, out_file)
if file_in_newer(in_file, out_file):
print("Generating " + out_file + " ...")
pyrrc(in_file, out_file)