[Pkg-mailman-hackers] Pkg-mailman commit - rev 119 - branches/pkg-split/core/debian/Debian
Bernd S. Brentrup
bsb@haydn.debian.org
Fri, 07 May 2004 11:58:04 -0600
Author: bsb
Date: 2004-05-07 11:58:02 -0600 (Fri, 07 May 2004)
New Revision: 119
Modified:
branches/pkg-split/core/debian/Debian/helpers.py
Log:
Make __name__ == '__main__' work for CommandRunner.
Gracefully handle SystemExit in CommandRunner.
Modified: branches/pkg-split/core/debian/Debian/helpers.py
===================================================================
--- branches/pkg-split/core/debian/Debian/helpers.py 2004-05-06 15:59:50 UTC (rev 118)
+++ branches/pkg-split/core/debian/Debian/helpers.py 2004-05-07 17:58:02 UTC (rev 119)
@@ -116,14 +116,21 @@
"""
"""#
gbls = virgin_gbls.copy()
- sys_argv = sys.argv[:]
- sys_path = sys.path[:]
- sys.argv = [cmd] + list(args)
- if self._prepend:
- sys.path.insert(0, self._prepend)
- execfile(cmd, gbls)
- sys.path = sys_path
- sys.argv = sys_argv
+ self._save = (sys.argv[:], sys.path[:])
+ self._rc = None
+ try:
+ try:
+ sys.argv = [cmd] + list(args)
+ if self._prepend:
+ sys.path.insert(0, self._prepend)
+ gbls['__name__'] = '__main__'
+ execfile(cmd, gbls)
+ except SystemExit, err:
+ self._rc = err.code
+ finally:
+ sys.argv, sys.path = self._save
+ return self._rc
+
# If run as a script, provide debug info for MM commands
# implemented in Python.