[pypy-svn] r14706 - pypy/dist/pypy/translator
pedronis at codespeak.net
pedronis at codespeak.net
Fri Jul 15 21:02:02 CEST 2005
Author: pedronis
Date: Fri Jul 15 21:02:01 2005
New Revision: 14706
Modified:
pypy/dist/pypy/translator/geninterplevel.py
Log:
fix logic to retrieve lib for app-level helpers imports such that it works with translate_pypy import redirection setup.
Modified: pypy/dist/pypy/translator/geninterplevel.py
==============================================================================
--- pypy/dist/pypy/translator/geninterplevel.py (original)
+++ pypy/dist/pypy/translator/geninterplevel.py Fri Jul 15 21:02:01 2005
@@ -78,7 +78,7 @@
import pypy # __path__
import py.path
-GI_VERSION = '1.1.2' # bump this for substantial changes
+GI_VERSION = '1.1.3' # bump this for substantial changes
# ____________________________________________________________
def eval_helper(self, typename, expr):
@@ -422,9 +422,14 @@
self.initcode.append1('import pypy')
self.initcode.append1('import sys')
self.initcode.append1('import os')
- self.initcode.append1('libdir = os.path.join(pypy.__path__[0], "lib")\n'
- 'sys.path.insert(0, libdir)\n'
- 'try:\n'
+ self.initcode.append1('for pkgdir in pypy.__path__:\n'
+ ' libdir = os.path.join(pkgdir, "lib")\n'
+ ' if os.path.isdir(libdir):\n'
+ ' break\n'
+ 'else:\n'
+ ' raise Exception, "cannot find pypy/lib directory"\n'
+ 'sys.path.insert(0, libdir)\n')
+ self.initcode.append1('try:\n'
' import %s as _tmp\n'
'finally:\n'
' if libdir in sys.path:\n'
@@ -1323,7 +1328,12 @@
dic['__file__'] = filename
# XXX allow the app-level code to contain e.g. "import _formatting"
- libdir = os.path.join(pypy.__path__[0], "lib")
+ for pkgdir in pypy.__path__:
+ libdir = os.path.join(pkgdir, "lib")
+ if os.path.isdir(libdir):
+ break
+ else:
+ raise Exception, "cannot find pypy/lib directory"
sys.path.insert(0, libdir)
try:
exec code in dic
More information about the Pypy-commit
mailing list