spv-dev team mailing list archive
-
spv-dev team
-
Mailing list archive
-
Message #00014
lp:~jmartel/slidepresenterview/fix-ui-files-generation-return-code into lp:slidepresenterview
John Martel has proposed merging lp:~jmartel/slidepresenterview/fix-ui-files-generation-return-code into lp:slidepresenterview.
Requested reviews:
SlidePresenterView Development Team (spv-dev)
Make sure that a non-zero return code is returned by gen_ui.py if the command that generates the .py files from .ui and .qrc fails.
--
https://code.launchpad.net/~jmartel/slidepresenterview/fix-ui-files-generation-return-code/+merge/27392
Your team SlidePresenterView Development Team is requested to review the proposed merge of lp:~jmartel/slidepresenterview/fix-ui-files-generation-return-code into lp:slidepresenterview.
=== modified file 'tools/gen_ui.py'
--- tools/gen_ui.py 2010-05-02 22:18:27 +0000
+++ tools/gen_ui.py 2010-06-11 18:43:29 +0000
@@ -54,10 +54,10 @@
except ImportError:
print >> sys.stderr, "ERROR: PyQt4 not found."
sys.exit(1)
-
+
pyqtcfg = get_pyqt4_config() # pylint: disable-msg=C0103
pyqt_bin_dir = pyqtcfg.pyqt_bin_dir
-
+
def _list_files(extension, dir_):
"""
@@ -65,55 +65,55 @@
@param dir: where to find files (relative to BASE_DIR and not recursive)
@return: list of files names
"""
-
+
full_path = os.path.join(_base_path, dir_)
-
+
if not os.path.isdir(full_path):
print >> sys.stderr, "WARN: Path %s is not a directory." % full_path
return []
-
+
files = [os.path.join(full_path, file_)
for file_ in os.listdir(full_path)
if file_.endswith('.%s' % extension)]
-
+
return files
-
+
def _get_output_dir():
dir_rel = OUT_PACKAGE.replace('.', os.path.sep)
return os.path.join(_src_path, dir_rel)
-
-
+
+
def generate_ui_and_qrc():
+ out_dir = _get_output_dir()
+
+ _generate_ui(out_dir)
+ _generate_qrc(out_dir)
+
+
+def _generate_py_files(src_files, forge_py_method, command, out_dir):
+ for src_file in src_files:
+ py_file = forge_py_method(src_file, out_dir)
+ vars_ = {'SRC': unicode(src_file),
+ 'DEST': py_file,
+ 'CMD': unicode(os.path.join(pyqt_bin_dir, command))}
+ cmd = '%(CMD)s -o "%(DEST)s" "%(SRC)s"' % vars_
+ print 'building: %s' % cmd
+ return_code = os.system(cmd)
+ if return_code != 0:
+ print >> sys.stderr, "Command failed: %s" % cmd
+ sys.exit(return_code)
+
+
+def _generate_ui(out_dir):
ui_files = _list_files('ui', UI_DIR)
+ _generate_py_files(ui_files, _forge_py_file_from_ui, PYUIC4_CMD, out_dir)
+
+
+def _generate_qrc(out_dir):
qrc_files = _list_files('qrc', QRC_DIR)
- out_dir = _get_output_dir()
-
- _generate_ui(ui_files, out_dir)
- _generate_qrc(qrc_files, out_dir)
-
-def _generate_ui(ui_files, out_dir):
- for ui_file in ui_files:
- py_file = _forge_py_file_from_ui(ui_file, out_dir)
- vars_ = {'SRC': ui_file,
- 'DEST': py_file,
- 'CMD': os.path.join(pyqt_bin_dir, PYUIC4_CMD)}
- cmd = '%(CMD)s -o "%(DEST)s" "%(SRC)s"' % vars_
-
- print 'building: %s' % cmd
- os.system(cmd)
-
-def _generate_qrc(qrc_files, out_dir):
- for qrc_file in qrc_files:
- py_file = _forge_py_file_from_qrc(qrc_file, out_dir)
- vars_ = {'SRC': unicode(qrc_file),
- 'DEST': py_file,
- 'CMD': unicode(os.path.join(pyqt_bin_dir, PYRCC4_CMD))}
- cmd = '%(CMD)s -o "%(DEST)s" "%(SRC)s"' % vars_
-
- print 'building: %s' % cmd
- os.system(cmd)
-
+ _generate_py_files(qrc_files, _forge_py_file_from_qrc, PYRCC4_CMD, out_dir)
+
def clean_ui_and_qrc():
ui_files = _list_files('ui', UI_DIR)
@@ -121,32 +121,32 @@
out_dir = _get_output_dir()
py_files = []
-
+
for ui_file in ui_files:
py_file = _forge_py_file_from_ui(ui_file, out_dir)
py_files.append(py_file)
-
+
for qrc_file in qrc_files:
py_file = _forge_py_file_from_qrc(qrc_file, out_dir)
py_files.append(py_file)
-
+
for py_file in py_files:
if os.path.isfile(py_file):
print 'removing: %s' % py_file
os.remove(py_file)
-
+
def _forge_py_file_from_ui(ui_file, out_dir):
file_name = os.path.basename(ui_file[:-3])
file_name = "%s%s.py" % (UI_OUTPUT_PREFIX, file_name)
file_path = os.path.join(out_dir, file_name)
return file_path
-
+
def _forge_py_file_from_qrc(qrc_file, out_dir):
file_name = os.path.basename(qrc_file[:-4])
file_name = "%s%s.py" % (file_name, QRC_OUTPUT_POSTFIX)
file_path = unicode(os.path.join(out_dir, file_name))
- return file_path
+ return file_path
if __name__ == '__main__':
Follow ups