[pypy-svn] r39233 - in pypy/dist/pypy: bin translator/goal
ac at codespeak.net
ac at codespeak.net
Tue Feb 20 14:10:17 CET 2007
Author: ac
Date: Tue Feb 20 14:10:15 2007
New Revision: 39233
Modified:
pypy/dist/pypy/bin/py.py
pypy/dist/pypy/translator/goal/app_main.py
Log:
Implement -S (don't 'import site') option.
Modified: pypy/dist/pypy/bin/py.py
==============================================================================
--- pypy/dist/pypy/bin/py.py (original)
+++ pypy/dist/pypy/bin/py.py Tue Feb 20 14:10:15 2007
@@ -29,6 +29,8 @@
BoolOption("optimize",
"dummy optimization flag for compatibility with CPython",
default=False, cmdline="-O"),
+ BoolOption("no_site_import", "do not 'import site' on initialization",
+ default=False, cmdline="-S"),
StrOption("runmodule",
"library module to be run as a script (terminates option list)",
default=None, cmdline="-m"),
@@ -38,14 +40,15 @@
])
pypy_init = gateway.applevel('''
-def pypy_init():
- try:
- import site
- except:
- import sys
- print >> sys.stderr, "import site' failed"
-
+def pypy_init(import_site):
+ if import_site:
+ try:
+ import site
+ except:
+ import sys
+ print >> sys.stderr, "import site' failed"
''').interphook('pypy_init')
+
def main_(argv=None):
starttime = time.time()
config, parser = option.get_standard_options()
@@ -99,7 +102,7 @@
try:
def do_start():
space.startup()
- pypy_init(space)
+ pypy_init(space, space.wrap(not interactiveconfig.no_site_import))
if main.run_toplevel(space, do_start,
verbose=interactiveconfig.verbose):
# compile and run it
Modified: pypy/dist/pypy/translator/goal/app_main.py
==============================================================================
--- pypy/dist/pypy/translator/goal/app_main.py (original)
+++ pypy/dist/pypy/translator/goal/app_main.py Tue Feb 20 14:10:15 2007
@@ -6,6 +6,7 @@
-i inspect interactively after running script
-O dummy optimization flag for compatibility with C Python
-c CMD program passed in as CMD (terminates option list)
+ -S do not 'import site' on initialization
-u unbuffered binary stdout and stderr
-h, --help show this help message and exit
--version print the PyPy version
@@ -172,6 +173,7 @@
go_interactive = False
run_command = False
+ import_site = True
i = 0
while i < len(argv):
arg = argv[i]
@@ -198,6 +200,8 @@
elif arg == '-h' or arg == '--help':
print_help()
return 0
+ elif arg == '-S':
+ import_site = False
elif arg == '--':
i += 1
break # terminates option list
@@ -214,10 +218,11 @@
mainmodule = type(sys)('__main__')
sys.modules['__main__'] = mainmodule
- try:
- import site
- except:
- print >> sys.stderr, "import site' failed"
+ if import_site:
+ try:
+ import site
+ except:
+ print >> sys.stderr, "import site' failed"
# set up the Ctrl-C => KeyboardInterrupt signal handler, if the
More information about the Pypy-commit
mailing list