[z3-checkins] r27811 - in z3/pythonproducts/trunk: . src/pythonproducts
rocky at codespeak.net
rocky at codespeak.net
Sun May 28 23:58:46 CEST 2006
Author: rocky
Date: Sun May 28 23:37:55 2006
New Revision: 27811
Modified:
z3/pythonproducts/trunk/ (props changed)
z3/pythonproducts/trunk/src/pythonproducts/pythonproducts.py
Log:
Fixed up package loading to properly access last portion of package.
Modified: z3/pythonproducts/trunk/src/pythonproducts/pythonproducts.py
==============================================================================
--- z3/pythonproducts/trunk/src/pythonproducts/pythonproducts.py (original)
+++ z3/pythonproducts/trunk/src/pythonproducts/pythonproducts.py Sun May 28 23:37:55 2006
@@ -119,7 +119,13 @@
for product_id in products.objectIds():
product = products[product_id]
if hasattr(product, 'package_name'):
- packages[product_id] = __import__(product.package_name)
+ pos = product.package_name.rfind('.')
+ if pos > -1:
+ packages[product_id] = __import__(product.package_name,
+ globals(), {},
+ product.package_name[pos+1:])
+ else:
+ packages[product_id] = __import__(product.package_name)
elif old_product_packages.has_key(product_id):
packages[product_id] = old_product_packages[product_id]
@@ -173,12 +179,16 @@
return result
try:
- l = name.find('.')
+ l = name.rfind('.')
if l > 0:
realName = name[l + 1:]
toplevel = name[:l]
- m = __import__(toplevel)
+ pos = toplevel.rfind('.')
+ if pos > -1:
+ m = __import__(toplevel, globals(), {}, toplevel[pos+1:])
+ else:
+ m = __import__(toplevel)
d = os.path.join(m.__path__[0], prefix, realName)
for s in suffixes:
More information about the z3-checkins
mailing list